Tensorflow深度学习应用(进阶篇)-1

#coding=gbk'''
逻辑回归:逻辑回归需要将输出控制在[0,1]之间,可以使用函数将值映射在[0,1]之间Sigmod函数,逻辑回归一般采用对数损失函数;
'''
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']  #设置显示绘图显示中文
mpl.rcParams['axes.unicode_minus'] = False  #防止中文乱码,有时候第一句不能完全避免显示错误#导入tensorflow 模块
import tensorflow.compat.v1 as tf
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.utils import shuffleimport tensorflow.examples.tutorials.mnist.input_data as input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)print("训练集:", mnist.train.num_examples,"测试集:", mnist.test.num_examples,"验证集", mnist.validation.num_examples)print("Image shape:", mnist.train.images.shape,"labels shape:",mnist.train.labels.shape)
'''运行结果:
训练集: 55000 测试集: 10000 验证集 5000
Image shape: (55000, 784) labels shape: (55000, 10)
分析:图像数据,有55000条数据,每条特征有784个(28x28的灰度图,只有一个颜色通道)标签图像数据:有55000条,每条长度为10(one_hot编码的数据)
'''#显示图像函数定义
def plot_image(image):plt.imshow(image.reshape(28, 28), cmap='binary')plt.show()plot_image(mnist.train.images[3])
print(mnist.train.labels[3])
'''
显示数字6;
[0. 0. 0. 0. 0. 0. 1. 0. 0. 0.],对应的标签,为1的代表数字6这种编码方式是one_hot独热编码方式
'''#取得独热编码的值,若one_hot设置为False,则标签中就直接为值
val = np.argmax(mnist.train.labels[3])#获取编码对应的值,
print(val)  #值为数字6#数据集的划分,可以将数据分为训练集,测试集,验证集,可以大幅度减低过拟合的发生几率#数据的批量读取
mnist.train.images[0:10]#切片
batch_images_xs, batch_labels_ys = \mnist.train.next_batch(batch_size=10)  #自动移动x = tf.placeholder(tf.float32, [None, 784], name='x')
y = tf.placeholder(tf.float32, [None, 10], name='y')
w = tf.Variable(tf.random_normal([784, 10], name='w'))#正态随机数初始化
b = tf.Variable(tf.zeros([10], name='b'))#前向计算
f = tf.matmul(x, w) + b#计算结果分类,表示为哪一类的概率值,将值控制在[0,1]之间
p = tf.nn.softmax(f)#模型构建
train_c = 80
#批量数据大小
b_size = 100
#全部需要几个批次训练一次
total_b_size = int(mnist.train.num_examples / b_size)
step = 1
learning_rate = 0.01#损失函数(交叉熵损失函数)
loss_Fun = tf.reduce_mean(-tf.reduce_sum(y * tf.log(p), reduction_indices=1))
#优化器
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_Fun)
#检查预测类别tf.argmax(p,1)与实际类别tf.argmax(y,1)的匹配情况
correct_prediction = tf.equal(tf.argmax(p, 1), tf.argmax(y, 1))#准确率,将bool转换为浮点数,计算平均值
ave = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)for i in range(train_c):for batch in range(total_b_size):x_, y_ = mnist.train.next_batch(b_size)sess.run(optimizer, feed_dict={x: x_, y: y_})#使用验证数据集计算误差与准确率loss, acc = sess.run([loss_Fun, ave], feed_dict={x: mnist.validation.images, y: mnist.validation.labels})print("Train count:", i + 1, "Loss=", "{:.9f}".format(loss), "acc=", "{:.4f}".format(acc))
print("训练结束!")#模型运用
Predict_Result = sess.run(tf.argmax(p, 1), feed_dict={x: mnist.test.images})
print(Predict_Result[0:10])def plot_Result(images, labels, prediction, index, num=10):fig = plt.gcf()fig.set_size_inches(10, 12)if num > 25:num = 25for i in range(0, num):ax = plt.subplot(5, 5, i + 1)ax.imshow(np.reshape(images[index], (28, 28)), cmap='binary')title = "label=" + str(np.argmax(labels[index]))if len(prediction) > 0:title += ",predict=" + str(prediction[index])ax.set_title(title, fontsize=10)#不显示坐标轴ax.set_xticks([])ax.set_yticks([])index += 1plt.show()plot_Result(mnist.test.images,mnist.test.labels,Predict_Result,10,10)

在这里插入图片描述
附:
本文章学习自中国大学mooc-深度学习应用开发-Tensorflow实战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​20210716未来智能实验室收录资料

20210716未来智能实验室收录资料特别推荐:置顶收录未来智能实验室在人民日报《学术前沿》发表的城市大脑最新综述研究论文和报告《城市大脑的起源、发展与未来趋势》。本期收录前沿科技进展材料52篇1.《科学》:媲美AlphaFold2的蛋白质结构预测新工具问世…

元宇宙深度研究报告:元宇宙是互联网的终极形态?

报告出品方:华安证券作者:尹沿技、张天、姚天航1 元宇宙:剑指互联网的“终极形态”1.1 元宇宙指向互联网的终极形态元宇宙(Metaverse)概念起源于科幻小说,或指向互联网的“终极形态”。Metaverse 一词来源于…

Unity基础

Unity3D 游戏开发 第一章 基础知识 Unity是一个用于创建游戏和三维互动内容的开发工具,是一个专业游戏引擎。 2D游戏:视角锁定,二维坐标。 3D游戏:任意视角,三维坐标。 虚拟现实(VR)&#x…

英特尔史上最大收购!英特尔拟300亿美元收购GF,审批成关键!

来源:EETOP据《华尔街日报》报道,知情人士称,英特尔打算斥资约300 亿美元收购晶圆代工大厂格罗方德(GlobalFoundries),以加速生产更多芯片,如果收购成功,这将是英特尔有史以来最大的…

Unity 基本操作

基本操作 物体的组合 1.从需要的组合的物体中选择一个作为父对象,其他的物体作为子对象,即把子对象拖拽到父对象里,操作父对象即可实现整体操作,效果如下。 2.在组合物体中,父对象的坐标是该组合体的坐标&#xff0c…

OpenAI雄心勃勃的机器人计划失败了:强化学习没法用?

来源:机器之心曾经训练出单手解魔方机器人的 OpenAI,眼下已经解散了机器人团队。这家执着于实现通用人工智能(AGI)的公司现在放弃了机器人研究,理由是「数据不够丰富」。近期,OpenAI 公司联合创始人 Wojcie…

Unity-游戏小地图实战(前述知识点回顾与运用)

阶段知识回顾与运用---游戏中小地图实战 对于多个摄像机,每个摄像机都带有音频监听器,会出现错误,因为我们只需要一个音频监听器,为了消除错误,需要移除其他摄像机的音频监听器,只保留主摄像机的音频监听器…

NTT高级科学家:光子是深度学习的未来!光子有望替代电子计算机加速神经网络计算...

来源:AI科技评论作者:Ryan Hamerly编译:陈彩娴近日,来自日本 NTT 研究所的高级科学家 Ryan Hamerly 在 IEEE Spectrum 上发表了一篇文章(“The Future of Deep Learning Is Photonic”),谈论了光…

Unity3D-InstantOC遮挡剔除

InstantOC(插件) 渲染管线 图形数据在GPU上经过运算处理,最后输出到屏幕的过程。对于显示出来的图形,CPU与GPU的分工 CPU判断需要显示的图形图像调用图形API;绘制调用(Draw Call):每…

WCF系列(一)BasicHttpBinding 和 WsHttpBinding 的不同点

aaaaaaaaaaaaaaaaaa WCF系列(一)【翻译】BasicHttpBinding 和 WsHttpBinding 的不同点 2010-02-21 12:23 by Virus-BeautyCode, 20206 阅读, 7 评论, 收藏, 编辑 原文地址:Difference between BasicHttpBinding and WsHttpBinding 1、简介 WC…

Unity3D-光照系统

光照系统 1. Global Illumination(全局光照) GI,能够计算直接光,间接光,环境光以及反射光的光照系统。通过GI算法,渲染出光照效果更为真实的场景。 2. 直接光 从光源直接放出的光,通过Light组件实现。 …

Tomaso A.Poggio教授丨人工智能的下一个突破点在何处?

来源:图灵人工智能AI的成功故事在过去的25年中,尤其是在刚刚过去的十年中,AI,特别是机器学习,已经拥有了十足可观的进展。两个主要的成功故事第一个是AlphaGo。在虚拟的游戏世界中,AI绝对已经战胜了人类。A…

Unity3D-声音系统

声音 1.Unity3D支持的音频文件 mp3、ogg、wav、aif、mod、it、s3m、xm。 2.声音分为2D,3D两种 3D声音:有空间感,近大远小;2D声音:适合做背景音乐。 3.在场景中产生声音,主要有两个总要的组件: Audio …

当可解释人工智能遇上知识图谱

来源:知乎—机器学习小谈地址:https://zhuanlan.zhihu.com/p/386458680本文按照以下章节进行组织:1. 背景意义2. 基于路径的方法3. 基于嵌入的方法4. 总结与展望01背景意义1.1 什么是可解释性?首先,什么是可解释性。由…

Unity3D-C#脚本介绍

Unity3D脚本介绍 脚本就是附加在游戏物体上用于定义游戏对象行为的指令代码。Unity支持C#高级编程语言。 1.语法结构 using 命名空间; public class 类名:Monobehaviour {void 方法名(){Debug.Log("调试信息.");print("调用…

JConsole连接远程linux服务器配置

1.在远程机的tomcat的catalina.sh中加入配置 (catalina.sh路径在tomcat/bin下面 如/usr/local/tomcat/bin) 1 if [ "$1" "start" ];then 2 JAVA_OPTS"$JAVA_OPTS -Djava.rmi.server.hostname192.168.10.98 -Dcom.sun.management.jmxremote"…

缺缺缺!IoT行业的“芯”选择是什么?

来源:北京物联网智能技术应用协会“最初,没有人在意这场灾难,直到这场灾难和每个人息息相关。”这是电影《流浪地球》的开头,预示着一场即将来临的危机。如今,这句话正在现实中应验,不过,这次遭…

Unity3D-相关函数功能

函数功能 1.每隔固定时间执行一次,时间间隔固定(0.02s),时间间隔可以修改。 适用性:适合对物体作移动,旋转等物理操作。 函数执行不受渲染影响。 private void FixedUpdate() {Debug.Log(Time.time); }设置更新频率&…

JMeter4.0以上 分布式测试报错 server failed start Listen failed on port

使用JMeter4.0做分布式测试的是否,我的电脑作为肉鸡(执行机),双击jmeter-server.bat后显示失败 Found ApacheJMeter_core.jarUsing local port: 1888Server failed to start: java.rmi.server.ExportException: Listen failed on …

Unity-基本函数用法

1.常用组件 组件作用Transform存储个处理游戏对象的位置、旋转和缩放Mesh Filter显示网格Rigidbody刚体,使物体能在物理控制下运动Collider碰撞器,和刚体一起来是游戏对象发生碰撞Renderer渲染器,使物体在屏幕上显示出来Audio Source音频源&…