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运行步骤结果:

  • 相关阅读:
    跨浏览器的事件处理程序
    开发技术文档汇总
    JVM知识树
    JDK1.8新特性(一)
    CAS
    Redis集群之修改节点IP
    阿里云服务器 发送邮箱 STMP 25端口 465端口问题 Javamail 25被禁用
    日志log4j到Logback的使用(主要是Logback)
    ThreadLocal原理和 java类全局静态变量在多线程中数据混乱问题
    SpringMVC拦截器拦截页面(坑)
  • 原文地址:https://www.cnblogs.com/forest128/p/13850052.html
Copyright © 2011-2022 走看看