(TF)Anaconda安装Tensorflow+Keras+Jupyter Notebook 老电脑(CPU不支持AVX指令集)

  • (TF)Anaconda安装Tensorflow+Keras+Jupyter Notebook 老电脑(CPU不支持AVX指令集) 

 

【参考】: 

1、Win10下安装Tensorflow+Keras简记(CPU版本) 

2、Anaconda环境安装tensorflow并嵌入到jupyter notebook中 

3、【参考】老电脑也要玩tensorflow,解决AVX、SEE、SEE2等报错之路 

 

其它命令 

退出命令  exit() 

进入E盘目录   E: 

进入某个目录 cd C:\Users\XX\Downloads 

 

【步骤】 

1、安装anaconda最新版本 

下载地址:64-bit Python 3.6  

下载后,安装在自己喜欢的分区盘的根目录下, 

建议在根目录下创建Anaconda3目录,然后安装在该目录下。 

 

2、增加国内镜像源 

网络上都是用命令的方法, 

这里介绍在Anaconda Navigator界面上添加的方法, 

点击主界面左侧的Home一栏,然后点击Channels按钮,再点击右上角的Add按钮,就可以添加了,加入清华大学的源即可。 

 

3、设置环境变量 

有两种方法,命令或界面,建议在界面下设置, 

打开安装好的Anaconda  Navigatior,点击主界面左侧的Environments一栏, 

然后点击左下角Create按钮,选择Python,Name设置为tensorflow。 

 

4、安装TensorflowCPU版本) 

启动AnacondaPrompt命令终端, 

activate tensorflow 

pip install --ignore-installed --upgrade tensorflow 

(很慢,要FQ) 

 

【其它】更换pip源到国内镜像,安装TensorFlow 

 

查看安装包 

pip list 

 

安装方法二、 

pip install tensorflow 

卸载 

exit() 

退出python 

pip uninstall tensorflow 

TF测试出问题就重复安装卸载几次 

 

5、老CPU,没有AVS指令集的CPU,安装SSE版本 

【导入TF时产生错误错误】 

ImportError: DLL load failed:找不到指定的模块 

ImportError: DLL load failed with error code 3221225501 

【原因】 

TensorFlow发布二进制版本1.6及更高版本已使用AVX指令集进行了预构建。 

因此,在没有这些指令集的任何CPU上,TF的CPU或GPU版本都将无法加载。 

【分析】 

下载CPU-Z,查看指令集 

新的CPU支持AVX指令集,以及更高性能的AVX2指令集 

老的CPU不支持AVX,只有SSE 

 

 

https://github.com/fo40225/tensorflow-windows-wheel查找适合自己电脑的包 

下载地址 

版本 

 

启动AnacondaPrompt命令终端,安装 

TF 2.0.0版本 

pip install F:\AI\Tensorflow\tensorflow-2.0.0-cp37-cp37m-win_amd64.whl 

TF1.14.0版本 

pip install F:\AI\Tensorflow\tensorflow-1.14.0-cp37-cp37m-win_amd64.whl 

 

 

【扩展】若芯片支持AVX2,可使用AVX2的安装包,省内存 

windows版TensorFlow最优安装,使用AVX2指令集 

 

查看安装包 

pip list 

 

6、测试Tensorflow 

启动Anaconda Prompt命令终端,依次输入以下命令: 

activate tensorflow 

python 

然后在在终端输入以下代码: 

import tensorflow as tf 

hello = tf.constant('Hello, TensorFlow!') 

sess = tf.Session() 

print(sess.run(hello)) 

打印'Hello, TensorFlow!'就成功了 

 

QTF测试出问题就重复安装卸载几次 

(报错 "<stdin>", line 1, in <module> NameError: name 'tf' is not defined) 

 

7、安装Keras 

启动Anaconda Prompt命令终端,输入以下命令: 

安装keras 

activate tensorflow 

pip install keras 

 

8、验证keras是否安装成功 

继续输入: 

python 

import keras 

 

9、将 tensorflow 嵌入到 jupyter 

* 安装:conda install ipython 

* 安装:conda install jupyter 

* 运行:ipython kernelspec install-self --user 

* 运行:jupyter kernelspec install-self --user 

7. 打开 jupyter notebook 页面: 

(tensorflow) C:\Users\Administrator> jupyter notebook 

 

弹出浏览器窗口就成功了 

 

10、每次使用 Tensorflow 环境的步骤 

1. 打开 Anaconda Prompt 终端 

2. 激活 tensorflow 环境,输入:activate tensorflow 

进入 tensorflow 环境之后,输入:jupyter notebook 

 

11Tensorflow+Keras测试:图片分类 

 

【引用参考】从零开始学TensorFlow 

【原始出处】Tensorflow学习笔记之一:训练你的第一个神经网络——基础分类 

 

跟着官网的代码跑了一(代码我都只是一步一步复制粘贴),最后跑起来: 

# TensorFlow and tf.keras 
 

import tensorflow as tf 

from tensorflow import keras 

 

# Helper libraries 
 

import numpy as np 

 

print(tf.__version__) 

 

加载数据、区分出测试数据和训练数据 
 

注意:如果已经下过,重复下载的话,可能会出现EOFError: Compressed file ended before the end-of-stream marker was reached错误 
 

fashion_mnist = keras.datasets.fashion_mnist 

(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() 

 

分类的列表 
 

class_names = ['T-shirt/top''Trouser''Pullover''Dress''Coat', 

               'Sandal''Shirt''Sneaker''Bag''Ankle boot'] 

 

查看数据的值 
 

print(train_images.shape)  样本的shape(可以看出有多少条样本、维度) 
 

print(len(train_labels))  # label的个数,有多少个样本,就应该有多少个label 
 

print(train_labels)  # label的值,对应上面分类列表(09) 
 

对测试数据和训练数据进行预处理(实际上就是归一化) 
 

train_images = train_images / 255.0 

test_images = test_images / 255.0 

 

设置层  (初始处理)--- 建立神经层 
 

model = keras.Sequential([ 

    keras.layers.Flatten(input_shape=(28, 28)), 

    keras.layers.Dense(128, activation=tf.nn.relu), 

    keras.layers.Dense(10, activation=tf.nn.softmax) 

]) 

 

损失函数、优化器、指标 
 

model.compile(optimizer=tf.train.AdamOptimizer(), 

              loss='sparse_categorical_crossentropy', 

              metrics=['accuracy']) 

 

将训练集丢进去,训练出模型(Model) 
 

model.fit(train_images, train_labels, epochs=5) 

 

将测试数据丢到模型中,评估一下得分(准确率) 
 

test_loss, test_acc = model.evaluate(test_images, test_labels) 

print('Test accuracy:', test_acc) 

 

评估完准确率以后,我们可以对测试数据进行预测 
 

predictions = model.predict(test_images) 

 

选第一个样本预测后的得出最有可能结果 
 

print(np.argmax(predictions[0])) 

 

对比结果 
 

print(test_labels[0]) 
 

 

跑出来的结果: 

(后期注释:这是TensorFlow的版本) 

1.12.0 

最终输出: 

posted @ 2020-05-17 18:02  踏雪影无痕  阅读(923)  评论(0)    收藏  举报