配置环境,害,咋说呢,一生之敌,却又不得不卑微地屈服
其实pytorch和TensorFlow现在的配置都很简单了,包括用Anaconda,真的非常方便,想起当时大三的时候配的那个Hadoop和Spark那才是真正的崩溃。。。不过也许只是当时自己特别憨憨吧,经过研一研二配置嵌入式之后,感觉自己的耐心好多了,而且最重要的是,心态放平了,不再那么如履薄冰了,其实没啥大不了的,大不了重装系统嘛(妈的别装了。但确实是的,配环境,认真看教程,不要看一步做一步,最好了解上下文,然后觉得靠谱了去试,错了也不打紧,有问题就去解决问题好了。
写这个简单的blog只是记录下常用的查看指令,免得每次都是要百度。。
Anaconda
首先配置深度学习环境的话,首推当然是Anaconda,我记得我大四的时候第一次配Tensorflow,那时候还有好多声音说没必要,那个全但是笨重,所以我是直接装的,当时也比较幸运,跟的是手把手在Windows上安装TensorFlow无坑教程,确实也没有坑,只不过当时pip install的时候直接是tensorflow,但是要装gpu版本的话是需要,pip install tensorflow-gpu,但是TensorFlow在2.0后,二者统一了,没有区别了
而且Anaconda还有一个最屌的,就是他可以自己安装和TensorFlow或者pytorch配套的CUDA和cuDNN,我之前配置的时候,还是按老规矩老老实实地装了驱动,cuda,载了cuDNN放进去,然后我发现我在创建虚拟环境后,通过conda安装TensorFlow或者pytorch的时候,他会自己寻找合适的cuda和cuDNN,这个可以通过后续查看版本的时候验证
查看版本
直接查看安装路径
最最简单粗暴的是,查看安装路径。。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
喏,一目了然,是10.2的cuda,那么cuDNN呢,打开include文件夹,搜索打开cudnn.h,查看:
所以cuDNN就是7.6.5,简单粗暴吧
通过CMD指令
也可以在cmd中查看本机的cuda和cuDNN,很简单,在装cuda的时候添加环境变量后即可,然后在cmd中输入,nvcc -V即可获取当前的cuda版本,然后还可以通过nvidia-smi 获取当前显卡设备的状态
(忽略中间拼错的愚蠢。。
但是上述两种方法的局限在于,当我们是用conda创建了多个env放不同的tensorflow和pytorch的时候,我们不好直接找到各个环境下的版本信息,所以用一下的方法
通过conda list查看包的版本信息
通过conda list,直接查看当前环境下安装的版本,如:
pytorch环境下的,但是有个问题,只有pytorch不显示cuDNN的版本
.
TensorFlow环境下的:
通过TensorFlow和pytorch的接口
这个是最科学的,意味着你真正调用的时候是啥版本,同时它也才是真正检验安装成功的标准
TensorFlow:
这个是最明显的,因为如果装的是gpu版本,cuda和cudnn没问题的话,你一操作TensorFlow就会有一堆信息输出。。。
可以通过简单的Session跑一个constant,也可以通过以下接口
信息太多,主要的是
1 | (tensorflow) C:\Users\Wu>python |
全文是:
1 | (tensorflow) C:\Users\Wu>python |
Pytorch:
可以通过torch.cuda.is_available()确认我们的显卡和cuda是否可用,可以则配置成功啦,具体的版本信息接口如下:
1 | (pytorch) C:\Users\Wu>python |
Conda clean
如果觉得conda的包比较多,占空间,可以用conda clean来清理
conda clean使用
删除从不使用的包
1 | $ conda clean --packages |
删除tar包
1 | $ conda clean --tarballs |
删除索引缓存、锁定文件、未使用过的包和tar包
1 | $ conda clean -a |
完整如下:
1 | conda clean -H |