深度有趣 | 02 準備工作
一個涵蓋了Python、pip以及常用Python包的軟體,ofollow,noindex">www.anaconda.com/download/ ,根據作業系統進行選擇,並使用Python3對應的Anaconda版本
Sublime Text
一個簡潔清爽而高顏值的編輯器,www.sublimetext.com/,下載並安裝Sublime Text 3
也可以嘗試其他對新手更友好的編輯器,例如PyCharm,www.jetbrains.com/pycharm/
執行程式碼
執行程式碼的三種方法
- 使用編輯器編寫程式碼,並在編輯器中執行
- 使用編輯器編寫程式碼,並在命令列中執行
- 使用Jupyter Notebook編寫程式碼並執行
安裝包
可以用pip
或conda
安裝Python包
pip install tensorflow keras 複製程式碼
如果安裝過慢,可以嘗試使用國內的源,例如清華提供的源
pip install tensorflow==1.9.0 keras==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple 複製程式碼
檔案路徑
Windows上的檔案路徑以左斜槓\
拼接
C:\Users\hlzhang\Desktop 複製程式碼
而Mac和Linux上的檔案路徑以右斜槓/
拼接
/Users/honlan/Desktop 複製程式碼
我習慣於後者,所以在後續程式碼中,如果使用字串表示或拼接檔案路徑,則都是使用/
如果在Windows上報錯,請將/
相應地改為\
中文編碼
在Windows上讀寫文字檔案時,最好指定編碼為utf8
,尤其是在檔案中包含中文時,因為這門課所涉及的文字檔案都是utf8
編碼
fr = open('xyj.txt', 'r', encoding='utf8') 複製程式碼
不然可能會出現類似以下編碼錯誤
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 2: illegal multibyte sequence 複製程式碼
深度學習框架
TensorFlow和Keras都是非常流行的深度學習框架
TensorFlow提供了更加底層的API,好比木材和各種工具,自己DIY
Keras封裝度更高,以Theano、TensorFlow等底層框架為backend
,好比造好的輪子
用經典網路層搭模型時,Keras更方便;動手實現和修改模型的細節時,TensorFlow更靈活
Keras的backend
可以是Theano或TensorFlow,為了保持一致,將backend
改為TensorFlow
編輯以下檔案,如果是Windows,則將$Home
改為%USERPROFILE%
$HOME/.keras/keras.json 複製程式碼
修改backend欄位即可,改動始終有效
{ "image_data_format": "channels_last", "epsilon": 1e-07, "floatx": "float32", "backend": "tensorflow" } 複製程式碼
或者在程式碼裡指定,僅對當前程式碼有效
import os os.environ['KERAS_BACKEND'] = 'tensorflow' import keras 複製程式碼
關於backend
的更多內容,請參考以下文件,keras-cn.readthedocs.io/en/latest/b…
GPU
CNN等神經網路模型使用GPU訓練更快,有條件的話可以用GPU,不然只能用CPU進行訓練,相應地需要安裝tensorflow的gpu版本
pip install tensorflow-gpu 複製程式碼
如果是Nvidia的GPU,那麼還需要安裝和配置CUDA和CuDNN,www.shushilvshe.com/data/dl-env… ,並且需要注意tensorflow和CUDA、CuDNN之間的版本相容問題
- 在tensorflow1.6之前,使用CUDA8.0和CuDNN8
- 從tensorflow1.6開始,使用CUDA9.0和CuDNN7
- tensorflow版本更新很快,錄課開始時還是1.4,錄課結束時已經更新到了1.10
- 沒有一成不變的配置,只有不斷適應才能趕上變化
推薦前置
- 理論基礎課:吳恩達深度學習微專業,mooc.study.163.com/smartSpec/d…
- 程式設計實戰課:全棧資料工程師養成攻略,study.163.com/course/cour…
Q&A
__MACOSX
和.DS_Store
是mac檔案系統自動生成的,在其他作業系統下可以忽略,或者刪掉
03課中,在Windows上讀取包含中文的文字檔案時,如果報UnicodeDecodeError
,記得在open
函式中指定編碼open('xyj.txt', encoding='utf8')
13課中,所使用的中文維基分詞語料下載連結為,pan.baidu.com/s/1qXKIPp6 ,提取密碼為kade
18課中,在Windows上可能出現無法讀取中文名稱圖片的情況,將圖片名稱修改成英文即可
29課中,main.py
19行的split如果報IndexError
,是因為Window使用左斜槓為路徑分隔符,所以把/
改成\\
即可