安装配置:
os版本:win10
语言版本:py3.6.5
IDE: pycharm
TensorFlow1.13: CPU版本
安装
Aconda prompt 下: pip3 install tensorflow
pip3大法果然好用
安装完成
测试(Aconda prompt和pyCharm下)
import tensorflow as tf
sees = tf.Session()
a = tf.constant(10)
b = tf.constant(12)
print(sees.run(a+b))
输出:
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
ImportError: numpy.core.multiarray failed to import
查找原因:
有网友说可能是numpy版本低,建议升级numpy(据说1.14.5版本和1.16版本的numpy可以fix这个error。)
解决办法:
Aconda prompt 下:
pip show numpy
输出:
Name: numpy
Version: 1.14.3
Summary: NumPy: array processing for numbers, strings, records, and objects.
Home-page: http://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: None
License: BSD
Location: c:\users\jsq\anaconda3\lib\site-packages
Requires:
Required-by: torchvision, tensorflow, tensorflow-estimator, tensorboard, tables, seaborn, PyWavelets, pytest-doctestplus, pytest-arraydiff, patsy, pandas, odo, numexpr, numba, mkl-random, mkl-fft, matplotlib, Keras-Preprocessing, Keras-Applications, h5py, datashape, Bottleneck, bokeh, bkcharts, astropy
pip install --user --upgrade numpy #将numpy更新到最新版本( numpy-1.16.3)
再次测试tensorflow是否安装成功
Aconda prompt 下:
python
>>> import tensorflow as tf
输出:
C:\Users\jsq\Anaconda3\lib\site-packages\h5py\__init__.py:36: 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
有网友说安装pip install h5py==2.8.0rc1可以解决
尝试:
Aconda prompt 下:
pip install h5py==2.8.0rc1
再次测试:
Aconda prompt 下:
python
>>> import tensorflow as tf
这次成功了,没有错误提醒,就像import numpy as np 般自然
pycharm 上测试:
import tensorflow as tf
sees = tf.Session()
a = tf.constant(10)
b = tf.constant(12)
print(sees.run(a+b))
输出:
2019-05-11 10:58:02.081282: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
22
Process finished with exit code 0
据说原因是下载TensorFlow的版本不支持cpu的AVX2编译。
可能是因为安装时使用的pip install tensorflow ,这样默认会下载X86_64的SIMD版本。
据说有这样的tips:
为了提升CPU计算速度的。若你有支持cuda的GPU,则可以忽略这个问题,因为安装SSE4.1, SSE4.2, AVX, AVX2, FMA, 仅仅提升CPU的运算速度(大概有3倍)。
有两种解决办法这个小伙伴讲的很清楚:
1.忽略这个警告,不看它!
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]='1' # 这是默认的显示等级,显示所有信息
os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error
os.environ["TF_CPP_MIN_LOG_LEVEL"]='3' # 只显示 Error
用第二个就可以了
- 彻底解决,换成支持cpu用AVX2编译的TensorFlow版本。
首先,卸载原来版本的TensorFlow
pip uninstall tensorflow
完成后可以用pip list查看一下所有库,检查是否成功卸载
对应的path在上边的找到对应的.whl下载即可。
然后安装:
pip3 install tensorflow-1.6.0-cp36-cp36m-win_amd64.whl
成功安装后,再次运行TensorFlow就不会报错啦~