除了Ubuntu以外的Linux系統可以安裝Tensorflow/Pytorch的GPU版本嗎???
廢話:
平時沒事有用到的Linux系統有Centos/Redhat/Ubuntu/UOS/Deepin,其中Ubuntu系統主要是用來工作生產的,UOS就是看看國家隊的進展如何,Deepin就是看看民營企業的力量,同時也是看看自己小二十年前幾塊一張CD的WINDOW系統盤的公司現在如何了,而至於其他的Linux系統也就是看看所謂的企業級Linux是長啥樣的了。
雖然用過這麼多版本的Linux系統,但是從來都是用Ubuntu來做生產,大概10多年前的時候Linux世界還沒有說哪個系統就一定是生產系統,那時候只有企業級安全系統,如:Redhat、Centos,至於Ubuntu系統則是很多喜歡IT技術的人用來玩的,那個時代的Ubuntu真的是用來玩的。10多年前的Ubuntu的軟體環境和今天的基本一樣,日常應用的軟體基本是不靠譜的,我覺得那時Ubuntu唯一吸引人的就是它的軟體中心的設定,像Linux這麼憋的系統在10多年前就能提供軟體中心這個東西,實在是驚豔的表現,而我之所以在10多年前就一直把Ubuntu系統作為主要使用的Linux系統則是因為它所提供的預安裝元件十分的齊全,不像Redhat和Centos,安裝一些軟體就需要各種複雜的配置依賴環境,雖然Linux的軟體環境依賴是一直被吐槽的,不過能做到Ubuntu這個水平就已經可以要人能夠正常使用了。也是在大於10年前,在軟體公司的時候已經發現大家用的開發環境都已經慢慢的從centos轉成了Ubuntu,可能也就是從那個時候開始Ubuntu慢慢也就成了開發生產的Linux系統了。
最近幾年的大背景導致的,我沒事就support下國產軟體,對於其中的Deepin我則是一直看好的,沒事就用Deepin放愛奇藝玩,雖然流暢度遠遠低於正常的其他系統,不過我也還是能湊合接受的,最近突然想到這麼一個問題,那就是Deepin這樣的系統可以不可以做生產系統呢,尤其是現在最火的深度領域,於是就有了本文。
=====================================
首先說下,使用Deepin開發純CPU程式碼,只要是選擇stable版本,還是可以的,雖然各方面應該還是沒有Ubuntu好用,不過至少是可以用,而且你還可以同時在電腦上開個QQ和微信,嘿嘿嘿,對,其實唯一的優點可能就是能開QQ和微信。
重點就是GPU環境,尤其是TensorFlow和pytorch這樣的GPU框架,這裡就直接說下答案了,不好用,準確的說就是使用Deepin開發深度學習的GPU程式碼不可行。直接上親測結果:
這裡我分別使用了conda安裝深度學習框架方法(conda 安裝cuda和cudnn),和手動從nvidia官方下載安裝cuda和cudnn的方式,發現在Ubuntu上完全沒問題的安裝方法在Deepin系統上居然不能通過深度學習框架呼叫GPU裝置。原本以為是conda沒有為deepin系統做適配度更好的cuda和cudnn,但是即使手動從nvidia官方下載debian版本的cuda和cudnn後也無法使用GPU版本的深度學習框架(包括pytorch和TensorFlow)。
最終答案就是:
除了Ubuntu以外的Linux系統無法執行Tensorflow/Pytorch的GPU版本。
PS: 由於Ubuntu的使用之廣,影響力之深,很多軟硬體公司都會為期做適配,這樣慢慢也就導致了很多開發環境只能在Ubuntu系統上執行,尤其是異構計算環境的軟體。
-------------------------------------------------------