?
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。
从命名来理解:Tensor(张量)意味着N维数组,Flow(流)意味 着基于数据流图的计算。Tensorflow运行过程就是张量从图的一端流动到另一端 的计算过程。TensorFlow的开发过程中,重点在于构建执行流图。也就是:“Data Flow Graphs”,表示TensorFlow是一种基于图的计算框架,其中节点(Nodes)在图中表示数学操作,线(Edges)则表 示在节点间相互联系的多维数据数组,即张量(Tensor),这种基于流的架构让 TensorFlow具有非常高的灵活性。
要进行TensorFlow?的学习首先就要进行TensorFlow?环境平台的搭建。
用python的pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn将包安装好就可以进行学习了。
GPU 版本 TensorFlow?,我没有安装,这里只是简单的说一下,为什么要用GPU版,GPU 版本的 TensorFlow 可以利用 NVIDIA GPU 强大的计算加速能力,使 TensorFlow 的运行更为高效,尤其是可以成倍提升模型训练的速度。在安装 GPU 版本的 TensorFlow 前,你需要具有一块不太旧的 NVIDIA 显卡,以及正确安装 NVIDIA 显卡驱动程序、CUDA Toolkit 和 cuDNN。在这里就不做过多的赘述了。
环境配置好了,就可以进行第一个程序了,实现mnist手写数字识别
我理解的原理就是通过将图片上的像素量化,并设置权重值来识别图片内容,具体的跑一个程序看看
开始导入数据
import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
输入以上代码后,jupyter Notebook就自己开始下载,显示的是:
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11490434/11490434 [==============================] - 26s 2us/step
?查了一下才知道mnist是个什么东东,就是个数据集,可以看成是手写的数字图片集合。
归一化
就是将数据统一到【0,1】的区间内,通过下面这段代码实现,图片的颜色为什么除的是255,由于三原色中每种颜色都是用8位字符来表示一个分量,2的8次方是256,计算机是从0开始计数,所以是0-255,颜色混合就是1600万色
train_images, test_images = train_images / 255.0, test_images / 255.0
train_images.shape,test_images.shape,train_labels.shape,test_labels.shape
?输出
'\n输出:((60000, 28, 28), (10000, 28, 28), (60000,), (10000,))\n'
(60000, 28, 28)中,60000是图片数目,图片大小是28×28的
活动地址:CSDN21天学习挑战赛
?
|