在没有root权限的服务器上安装
服务器上似乎什么都没有,且权限很低,为了不干扰别人,需要在虚拟环境中运行。
流程:安装pip->通过pip安装virtualenv->虚拟环境下安装tensorflow
安装pip
1 | wget https://bootstrap.pypa.io/get-pip.py |
由于现在都用python3,所以不讨论2的情况,由于没有权限,所以必须加--user
用pip安装virtualenv
虽然用的是服务器,但是也出现了超时错误,所以使用清华的镜像
1 | pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv --user |
同样需要加--user
解决权限的问题
创建虚拟环境并安装tensorflow
这一部分参考了廖雪峰的博客,创建单独目录并切换到该目录下,没有按照博客说的不装所有的库,所以如此创建:
1 | virtualenv venv |
使用source进入环境
1 | source venv/bin/activate |
退出方法也很简单
1 | deactivate |
我为我的虚拟环境命名为了venv,在以虚拟环境运行时就会出现
(venv)
在虚拟环境中安装tensorflow1.4版本,因为目前主流都是1.几的,同样为了避免速度的问题,使用清华镜像,服务器还没装GPU,所以先下载的CPU的版本
1 | pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.4 |
安装完进入python3中import tensorflow,结果出现了如下的报错
/home///venv/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:469:
FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is
deprecated; in a future version of numpy, it will be understood as
(type, (1,)) / ‘(1,)type’. _np_qint8 = np.dtype([(“qint8”, np.int8,
1)])
可以看到是np库也就是numpy有些没兼容,方法是降numpy的版本
1 | pip install -U numpy==1.16.0 |
使用镜像应该会更快一点,但是这个大小也能忍了。。
至此降级了numpy,安装了tensorflow,再在python3中测试,没有bug
在本机安装
本机已经安装了pip3,之前总是出现超时错误,所以和服务器端一样,使用镜像,并且降级numpy就可以了。
在Anaconda中使用
其实并没有太高清anaconda中的python和本机的python的区别和联系,尤其在库函数上感觉非常迷。
但是juypter notebook的及时性还是非常时候入门上手,所以尝试
1 | import tensorflow as tf |
结果出现了报错
h5py_init_.py:26:FutureWarning: Conversion of the second argument of
issubdtype fromfloat
tonp.floating
is deprecated. In future, it
will be treated asnp.float64 == np.dtype(float).type
. from ._conv
import register_converters as _register_converters
解决办法就是更新这个h5py的包
1 | pip install h5py==2.8.0rc1 |
然后就可以了