tensorflow---识别图像特征吴恩达课程

tensorflow---识别图像特征

解决:确定一张图是否是鞋子

 1 import matplotlib.pyplot as plt
 2 import tensorflow as tf
 3 #加载数据
 4 mnist=tf.keras.datasets.fashion_mnist
 5 (training_images,training_lable),(test_images,test_lable)=mnist.load_data()
 6 #查看图片和数据
 7 plt.imshow(training_images[42])
 8 print(training_lable[42])
 9 print(training_images[42])
10 #标准化
11 training_images=training_images/255.0
12 test_images=test_images/255.0
13 #构建网络模型,自定义网络层
14 model=tf.keras.models.Sequential([tf.keras.layers.Flatten(),
15                                  tf.keras.layers.Dense(128,activation=tf.nn.relu),
16                                  tf.keras.layers.Dense(10,activation=tf.nn.softmax)])
17 model.compile(optimizer='Adam',loss='sparse_categorical_crossentropy')
18 model.fit(training_images,training_lable,epochs=100)
19 #准确率
20 model.evaluate(test_images,test_lable)

注:

1、categorical_crossentropy loss(交叉熵损失函数

  交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况。

  它刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近,不确定性越小,

  准确率越高。

  categorical_crossentropy 和 sparse_categorical_crossentropy 的区别

  如果你的 targets 是 one-hot 编码,用 categorical_crossentropy

    one-hot 编码:[0, 0, 1], [1, 0, 0], [0, 1, 0]

  如果你的 tagets 是 数字编码 ,用 sparse_categorical_crossentropy

    数字编码:2, 0, 1

2、Adam(自适应梯度下降法)

  一种优化方式

 

附notebook_jupyter运行步骤结果:

 

 

 

 

 

 

 

 

相关文章

MNIST数据集可以说是深度学习的入门,但是使用模型预测单张M...
1、新建tensorflow环境(1)打开anacondaprompt,输入命令行...
这篇文章主要介绍“张量tensor是什么”,在日常操作中,相信...
tensorflow中model.fit()用法model.fit()方法用于执行训练过...
https://blog.csdn.net/To_be_little/article/details/12443...
根据身高推测体重const$=require('jquery');const...