在ubuntu16.04環境下的tensorflow使用記錄,旨在分享,歡迎討論。
tensorflow訓練時未啟用gpu
tensorflow在訓練時,是默認使用GPU的,如果程序能夠正常訓練,而并未啟動GPU,進行如下檢查:
- 在終端下輸入
nvdia-smi
,顯卡啟動正常,驅動問題被排除,但是發現GPU使用率未0 - 在終端輸入
nvcc -V
查看cuda版本,正常顯示,問題被排除 - 問題基本是出在tensorflow本身了,問題找到了,原來是自己安裝了cpu版本的tensorflow。重新安裝tensorflow,輸入指令
pip install tensorflow-gpu
。
如何安裝不同python版本的深度學習框架
學習DL一段時間后,在學習RNN時,發現了運用RNN生成莎士比亞文學的實例,實例基于Torch撰寫,于是想安裝torch框架。
問題:服務器的python版本為3.6,而RNN的實例是基于python2.7的。
解決辦法: 安裝anaconda,然后再anaconda下創建python2.7的torch環境:conda create -n torch python=2.7
接著在此環境下進行torch的安裝。(注意:這里的create torch語句只是創建了一個名字叫torch的環境,并安裝了python2.7以及依賴項如numpy等,并沒有安裝torch本身,需要另行下載)
讀取訓練模型時遇到錯誤:'段錯誤 (核心已轉儲)'
若訓練的step為60000,且在訓練時使用的保存語句如下:
saver.save(sess, logs_train_dir+'/model.ckpt', global_step=step)
那么在指定的文件夾下的ckpt目錄應該如下圖所示:它們存儲了權重系數w
和偏置b
系數以及整個神經網絡圖等信息。
圖一 保存模型目錄
為了方便讀取,我刪除了
model.ckpt-60000.data-00000-of-00001
中的-60000
和-00000-of-00001
在調用存儲的模型進行訓練時,出現了上述錯誤。-00000-of-00001
這一段是不能刪除的。只能刪除訓練step的信息-60000
這一部分。