zoukankan      html  css  js  c++  java
  • 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运行步骤结果:

  • 相关阅读:
    Uploadify v3.2.1 上传图片并预览
    mybatis批量操作
    500 拦截错误输出
    jsnop
    java目录
    设置360调用样式 IE调用样式
    Spring加载resource时classpath*:与classpath:的区别
    context:annotation-config 与context:component-scan
    Andriod调用http请求
    JDK环境变量
  • 原文地址:https://www.cnblogs.com/forest128/p/13850052.html
Copyright © 2011-2022 走看看