最近在学习《动手学深度学习》,准备用tensorflow搭建环境,遇到了各种qiba问题真的是让我绷不住了。
首先是在安装顺序上出现的问题:
d2l与jupyter的冲突问题
如果先安装d2l,再安装jupyter会导致jupyter显示“500 : Internal Server Error”
如果先安装jupyter再安装d2l就不会出现问题,原因未知,但大概率是包不兼容的问题。
tensorflow与MacbookPro(m2)的不兼容问题
安装tensorflow==2.2.1、2.8.0、2.10都无法使用,只有conda安装tensorflow==2.9.1才能勉强的在
“I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE4.1 SSE4.2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.”
这个报错信息下运行。
甚至和python版本都有一定的冲突,3.8中可以跑的配置,换成3.9再重复相同的配置就不行了。
tensorflow与d2l的冲突问题
如果先安装tensorflow==2.9.1,再安装d2l,那么d2l包中的numpy=1.21.5会替换tensorflow==2.9.1包中的numpy=1.22.3从而导致已安装好的tensorflow==2.9.1无法运行,一旦出现这个问题,很难解决,因为d2l包中的多个依赖都与tensorflow==2.9.1相冲突,另一方面tensorflow==2.9.1相当娇贵,一个包冲突都会导致它运行失败,基本上只能新建一个环境。
如果你的安装顺序选择jupyter-tensorflow-d2l,在使用jupyter时还会出现
“jupyter挂掉,正在重启”反复出现的情况,当这种情况发生时你单独调用tensorflow包也会出现问题,而且不会有任何报错,但应该就是d2l与tensorflow包冲突的问题,d2l的安装删除或替换了tensorflow所需的必要依赖。
如果先安装d2l再安装tensorflow==2.9.1则不会有什么问题。
总结
MacbookPro(m2)配置jupyter + d2l + tensorflow环境的安装步骤如下:
1、在anaconda中新建一个环境,选择python3.8
2、安装jupyter
3、再新建的环境里安装d2l
cd 环境路径/bin
./pip install d2l==0.17.5
4、安装tensorflow==2.9.1,建议在anaconda中直接勾选tensorflow和tensorflow-probability直接安装。
结束
这样配置后无论在pycharm中还是jupyter中都可以正常使用tensorflow和d2l。