本文安装一下机器学习会用到的一些库函数。
今天的目标是安装TensorFlow GPU版本,安装TensorFlow GPU版本需要成功配置好CUDA,没有配制好的请移步上一篇博文。不过在安装TensorFlow GPU之前,有一些机器学习必须用到的安装包也需要来安装一下。
注意:使用keras进行代码开发时,要注意是否安装tensorflow-cpu版本,建议不要安装,直接安装tensorflow-gpu,这样开发的神经网络模型本身可以用GPU进行加速,若使用cpu版本,则默认的backend是cpu版本的。
1. 安装pip
因为Jetson Nano中已经安装了Python3.6版本,所以安装pip还是比较简单的。但要注意不是简单的pip,要在下面的步骤中进行一定的处理,否则会报错出问题。
sudo apt-get install python3-pip python3-dev
笔者该步操作后,输出unabel to loacte package python3-pip.经过一系列花式操作并没有改善,重启系统就好了。嗯,感觉自己进入了玄学领域??
之所以觉着重启可以改善,是因为之前操作时候这一步是没有问题的。且python3.6时原装的python,正常而言pip应该是配套的。
安装后pip是9.01版本,需要把它升级到最新版,升级后pip版本为19.0.3。这里面升级后会有一个小Bug,需要手动改一下
python3 -m pip install --upgrade pip #升级pip
这里升级到了19.2.3版本。
sudo vim /usr/bin/pip3 #打开pip3文件
将源文件中的:
from pip import main
if __name__ == '__main__':
sys.exit(main())
改为:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
修改结束后保存,运行pip3 -V成功后显示:
beckhans@Jetson:~$ pip3 -V
pip 19.0.3 from /home/beckhans/.local/lib/python3.6/site-packages/pip (python 3.6)
此时要十分注意是__main__._main()这个地方容易眼花出错。
安装完pip后,就要安装机器学习领域那些著名的包。
2.安装机器学习领域著名的库包
sudo apt-get install python3-scipy
sudo apt-get install python3-pandas
sudo apt-get install python3-sklearn
sudo apt-get install python3-pyqt5 # for python3
这里没有numpy和matplotlib,在安装其他库时,该两个文件也会被安装。
3. 安装tensorflow-gpu版本
(1)确认CUDA已经被正常安装
nvcc -V
(2)安装所需要的包
sudo apt-get install python3-pip libhdf5-serial-dev hdf5-tools
因为之前已经费力安装了一遍pip,所以本次其实并没有安装pip。仅对后面两个必须的文件库进行了安装。
(3)安装TensorFlow GPU版本
pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.13.1+nv19.3 --user
如果是下载到了whl文件之后,需要对whl文件进行安装,代码如下:
$ pip3 install --user tensorflow-cp36-cp36m-linux_aarch64.whl
这里感激一波贝克汉鸭提供的whl文件。
然而在一次安装中出现了一些问题,后来用了从官方下载的whl文件既可,这是由于在一些因素下(玄学),whl文件有损失,需要重新下载whl,这样子这些问题就会被消除了。
4.keras安装
pip3 install --user keras
至此,基础的库已经安装完成,接下来就是验证一下之前写的模型能不能炮筒,还缺少哪些文件,也花费了一个下午的时间,tensorflow的安装还是很慢的。
5. 测试模型
在测试tensorlow期间,出现一个问题。
import tensorflow
出现以下错误提示
numpy是一个基础的数组计算包,Tensorflow、 tensorboard、Keras-Preprocessing、h5py、pandas等一系列常用的第三方库都需要numpy的支持。这里提示numpy.core._multiarray_umath failed to import和numpy.core.umath failed to import ,得知无法正常import tensorflow 的原因是numpy库的引用出了问题。应该是numpy版本和当前Tensorflow版本兼容性问题。
解决方法:
方法1:
pip install --user --upgrade numpy #将numpy更新到最新版本
方法2:
pip install --upgrade --force-reinstall numpy==1.14.5 #重新安装合适的numpy版本
或
pip install numpy==1.16
#如果提示权限不够,‘[WinError 5]拒绝访问’,则需赋予管理员权限,用下面语句
pip install --user --upgrade --force-reinstall numpy==1.14.5
1.14 1.16. 1.17版本都不会出现这个问题。至此完成了代码的调试工作。
经过(一)(二)(三)的教程既可完成jetsonnano深度学习环境的初步安装了,接下来既可以根据需求进行玩耍。