00 | 准备工作

简介

在个人电脑上,搭建编程所需的各项环境

Anaconda

一个涵盖了Python、pip以及常用Python包的软件,www.anaconda.com/download/,根据操作系统进行选择,并使用Python3对应的Anaconda版本

Sublime Text

一个简洁清爽而高颜值的编辑器,www.sublimetext.com/,下载并安装Sublime Text 3

也可以尝试其他对新手更友好的编辑器,例如PyCharm,www.jetbrains.com/pycharm/

运行代码

运行代码的三种方法

  • 使用编辑器编写代码,并在编辑器中运行
  • 使用编辑器编写代码,并在命令行中运行
  • 使用Jupyter Notebook编写代码并运行

安装包

可以用pipconda安装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
  • 没有一成不变的配置,只有不断适应才能赶上变化

推荐前置

Q&A

在Windows上读取包含中文的文本文件时,如果报UnicodeDecodeError,记得在open函数中指定编码open('xyj.txt', encoding='utf8')

使用的中文维基分词语料下载在百度云

在Windows上可能出现无法读取中文名称图片的情况,将图片名称修改成英文即可

27中,main.py19行的split如果报IndexError,是因为Window使用左斜杠为路径分隔符,所以把/改成\\即可

results matching ""

    No results matching ""