一、 Tensorflow2安装:
1. 配置Anaconda环境
下载: Anaconda
关于Anaconda:—使用开源社区构建的最佳Python软件包(包括scikit-learn,TensorFlow和PyTorch)构建和训练机器学习模型。
安装过程中不要加sudo, 否则会安装到root用户下面
user@ubuntu:~/software$ ./Anaconda3-2020.07-Linux-x86_64.sh
//一路Enter yes即可, 安装过程略...
Thank you for installing Anaconda3!
===========================================================================
Working with Python and Jupyter notebooks is a breeze with PyCharm
Professional! Code completion, Notebook debugger, VCS support, SSH, Docker,
Databases, and more!
Get a free trial at: https://www.anaconda.com/pycharm
user@ubuntu:~/software$
安装完成后,可以在窗口中使用以下命令进行安装验证:
conda --version
conda activate //进入conda环境
conda deactivate //退出conda环境
安装了 Anaconda,下一步决定是否安装 TensorFlow CPU 版本或 GPU 版本。几乎所有计算机都支持 TensorFlow CPU 版本,而 GPU 版本则要求计算机有一个 CUDA compute capability 3.0 及以上的 NVDIA GPU 显卡(对于台式机而言最低配置为 NVDIA GTX 650)。
CPU 与 GPU 的对比:中央处理器(CPU)由对顺序串行处理优化的内核(4~8个)组成。图形处理器(GPU)具有大规模并行架构,由数千个更小且更有效的核芯(大致以千计)组成,能够同时处理多个任务。
2. 安装Tensorflow2
在命令行中使用以下命令创建 conda 环境
conda create -n tensorflow python=3.6
- Python 3.6–3.9
- 若要支持 Python 3.9,需要使用 TensorFlow 2.5 或更高版本。
- 若要支持 Python 3.8,需要使用 TensorFlow 2.2 或更高版本。
激活tensorflow环境:
user@ubuntu:~$ conda activate
(base) user@ubuntu:~$ source activate tensorflow
(tensorflow) user@ubuntu:~$
安装Tensorflow
(tensorflow) user@ubuntu: ~$ pip install --upgrade tensorflow
第一个程序:
在工作区新建HelloTensorflow.py文件
将下面代码复制进去
import tensorflow as tf
#载入并准备好 MNIST 数据集。将样本从整数转换为浮点数:
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
#将模型的各层堆叠起来,以搭建 tf.keras.Sequential 模型。为训练选择优化器和损失函数:
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
#训练并验证模型:
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
Epoch 1/5
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2962 - accuracy: 0.9155
Epoch 2/5
1875/1875 [==============================] - 3s 2ms/step - loss: 0.1420 - accuracy: 0.9581
Epoch 3/5
1875/1875 [==============================] - 3s 2ms/step - loss: 0.1064 - accuracy: 0.9672
Epoch 4/5
1875/1875 [==============================] - 3s 2ms/step - loss: 0.0885 - accuracy: 0.9730
Epoch 5/5
1875/1875 [==============================] - 3s 2ms/step - loss: 0.0749 - accuracy: 0.9765
313/313 - 0s - loss: 0.0748 - accuracy: 0.9778
[0.07484959065914154, 0.9778000116348267]
现在,这个照片分类器的准确度已经达到 98%。
二、基本分类
通过 Fashion MNIST 数据集来引入第一个概念
在文件夹下新建1_basic_classify.py文件,将以下代码复制到文件中观察运行效果:
# TensorFlow and tf.keras
import tensorflow as tf
from tensorflow import keras
# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
#直接从 TensorFlow 中导入和加载 Fashion MNIST 数据
fashion_mnist = keras.datasets.fashion_mnist
#每个图像都会被映射到一个标签。由于数据集不包括类名称,供稍后绘制图像时使用:
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
#加载数据集会返回四个 NumPy 数组:
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
#将这些值缩小至 0 到 1 之间,然后将其馈送到神经网络模型。为此,请将这些值除以 255。请务必以相同的方式对训练集和测试集进行预处理:
train_images = train_images / 255.0
test_images = test_images / 255.0
#显示训练集中的前 25 个图像,并在每个图像下方显示类名称。
plt.figure(figsize=(10,10))
for i in range(25):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(train_images[i], cmap=plt.cm.binary)
plt.xlabel(class_names[train_labels[i]])
plt.show()
保存文件,然后进入文件目录运行python代码
(base) user@ubuntu:~/TfWorkspace$ python 1_basic_classify.py
运行后可以看到Figure界面展示了25张图片和对应的标签
接下来我们会对训练集进行建立模型
三、张量
想要学习Tensorflow,