在没有root权限的服务器上安装

服务器上似乎什么都没有,且权限很低,为了不干扰别人,需要在虚拟环境中运行。
流程:安装pip->通过pip安装virtualenv->虚拟环境下安装tensorflow

安装pip

1
2
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user

由于现在都用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 from float to np.floating is deprecated. In future, it
will be treated as np.float64 == np.dtype(float).type. from ._conv
import register_converters as _register_converters

解决办法就是更新这个h5py的包

1
pip install h5py==2.8.0rc1

然后就可以了