环境
- Mac OSX 10.14.6
- Python 3.7
遇到的问题
- 参考的论文代码不兼容
在做深度高斯过程研究时参考的一篇论文代码的环境为tensorflow 1.8,于是想安装1.8版本
终端输入以下代码
pip3 install tensorflow==1.8
报错“ERROR: No matching distribution found for tensorflow==1.8"
一查,发现tensorflow1.8不支持python3.7,泪奔,难不成要卸了python3.7重装python3.6?
最后成功搜索到了解决方法,首先需要手动安装tensorflow1.8的whl文件,可进入https://pypi.org/project/tensorflow/1.8.0/#files安装
接着,把文件名中的cp36改成cp37,再更改源文件中的一个变量名,具体可参考:
https://blog.csdn.net/weixin_42279044/article/details/84996528
最后在终端中做实验输入
import tensorflow
可以看到成功导入了
2.但是问题没那么简单啊!实际跑代码的时候还是报错了:“AttributeError: module 'tensorflow' has no attribute 'broadcast_to”
谷歌了一下,又是版本问题。可能1.8版本没有这个属性。
只好又在终端输入
pip3 uninstall tensorflow
卸载完之后装上最新版的tensorflow(所以我究竟在折腾什么。。。)然后就开始疯狂的报readtime out error.
由于tensorflow1.14.1有100多MB,导致安装总是超时。
最后,搜索到mac版的解决方案:
sudo pip install --default-timeout=100 tensorflow
下载速度终于快多了
小结
1.tensorflow1.8版本出来的时候还没有python3.7,不同库版本之间的兼容问题,代码的兼容性需要考虑。
2.使用别人的代码一定要注意运行环境,否则还不如自己写(所以我决定放弃直接采用别人的代码,自己重写一份了)
3.同样,作为开发者应该把这些问题考虑好,让自己的代码可以在别人的设备上复现,才能提升利用率