(一)MNIST入门的一些小结

MNIST机器学习入门之MNIST数据集详细代码与注解   就好比编程入门有Hello World,机器学习入门有MNIST 在此之前我们需要下载好MNIST数据集 放入你的程序目录中 地址是http://yann.lecun.com/exdb/mnist/   就这四个然后就是代码了 代码如下: import tensorflow as tf from tensorflow.examples.tutorials.mnist im... 阅读详情

    老师说后面的主要工具是TensorFlow,尽管之前看完了吴恩达老师的《机器学习》和《深度学习》,由于当时忙着做毕业设计,以及网易云课堂上并没有课后题目,因此动手的工作一直闲置了下来,正好趁着暑假来学校的机会,好好学一下Python和TensorFlow。
    主要参考教程为TensorFlow中文社区提供的完整教程,先在此感谢一番,然后进入正题记录一下学习时不太明白的地方。因为import tensorflow as tf,所以 后面直接使用tf代替TensorFlow。

1.cross_entropy = -tf.reduce_sum(y_*tf.log(y))中的tf.reduce_sum()函数
    这个问题主要参考主要参考知乎Tensorflow 的reduce_sum()函数到底是什么意思,谁能解释下?,首先看一下tf.reduce_sum()的官方api:

reduce_sum(
    input_tensor,
    axis=None,
    keep_dims=False,
    name=None,
    reduction_indices=None
)

        input_tensor:需要处理的数据,必须是数字类型。
        axis:参与运算的维度。
        keep_dims:是否保留原始数据的维度。 
        reduction_indices:为了跟旧版本的兼容,现在已经不使用了。 

官方的例子:

# 'x' is [[1, 1, 1]
#         [1, 1, 1]]
tf.reduce_sum(x) ==> 6
tf.reduce_sum(x, 0) ==> [2, 2, 2]
tf.reduce_sum(x, 1) ==> [3, 3]
tf.reduce_sum(x, 1, keep_dims=True) ==> [[3], [3]]
tf.reduce_sum(x, [0, 1]) ==> 6

        可以看到,最关键的就是对于输入数据中维度的处理,这里的维度指的是数组维度。看了知乎中很多例子,觉得id为杨镒铭的答主给的答案我最容易接受,其举了一个三维数组(张量):

[[(1,2,3,4) (5,6,7,8) (9,10,11,12)]
  [(13,14,15,16) (17,18,19,20) (21,22,23,24)]
]

对其使用tf.reduce_sum(),并使axis分别为0,1,2,其结果分别为

#axis=0
[[14, 16, 18, 20],
 [22, 24, 26, 28],
 [30, 32, 34, 36]
]
#axis=1
[[15, 18, 21, 24],
 [51, 54, 57, 60]
]
#axis=2
[[10, 26, 42],
 [58, 74, 90]]

可以看到,结果分别为3×4、2×4、2×3的数组,而原数组的规模为2×3×4,正好对应着在2、1、0维上进行降维处理

2.class tf.Session

        主要参考官方文档class tf.Session,根据官方文档的解释,tf.Session类,实际上是用来运行tensorflow操作的一个容器(在MNIST进阶中增加了这样一句说明:“Tensorflow依赖于一个高效的C++后端来进行计算。与后端的这个连接叫做session。一般而言,使用TensorFlow程序的流程是先创建一个图,然后在session中启动它。”),容器具有一定的资源(包括变量、队列和阅读器,阅读器看了下文档还不太明白,大致意思可能就是用来打印每一步运行的结果),操作放在容器中运行,当资源不再使用时则释放Session所占用的资源,具体用法如下:

#初始化所有变量,根据MNIST进阶的说明,每一个变量在使用前都必须在Session中进行初始化,如果全初始化0,则可以用该语句一次性初始化完成
init = tf.global_variables_initializer()
#新建一个tf.Session对象
sess = tf.Session()
#运行初始化操作
sess.run(init)

#在下面的例子中尽管已经定义了变量a和b,以及计算c的值,但需要放到sess.run()中才真正完成了计算c的过程
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
#显示输出为30.0
sess.run(c)
#关闭了sess之后其所拥有的资源即被释放,sess就无法使用了
sess.close()

更多的用法请参考官方文档


3.tf.argmax

        在查找资料的过程中,有博主说tensorflow使用numpy实现argmax,因此可以近似认为tf.argmax等同于np.argmax。无论是否如此,明白如何怎样使用即可。官方文档如下:


其说明就是返回张量在给定维度上的最大值所在的索引,其具体例子如下

array = [[1,2,3],[2,3,4],[5,4,3]]
sess.run(tf.argmax(array,0))
sess.run(tf.argmax(array,1))

其运行结果分别为[2,2,0]和[2,2,1],因为当dimension为0的时候返回的是每个一维数组中最大元素的索引,而当dimension为1的时候返回的是二维数组中每一列最大值所在的索引。示意图如下:

在pycharm中完成MNIST训练 MNIST数据训练入门MINST数据训练入门数据集介绍训练方法代码实现下一步学习计划实验时关于input_data.py MINST数据训练入门 通过该训练来进行第一个机器学习的数据训练过程,类似于编程语言中的helloworld. MNIST是入门级的CV数据集,包含手写的数字图片,从0~9.任务就是训练以使得机器能够识别图像中的数字内容。 数据集介绍 数据中包含60k的训练数据集(mnist.... 阅读详情

相关推荐

Google开源框架之MNIST入门

Google开源框架之MNIST入门本博客基于google开源框架tensorflow所做的笔记,便于以后参考。这段代码放在github中github/hadxu。

hadxu的博客 3930

Mnist数据集简介

MNIST是一个手写体数字的图片数据集,该数据集来由美国国家标准与技术研究所(National Institute of Standards and Technology (NIST))发起整理,一共统计了来自250个不同的人手写数字图片,其中50%是高中生,50%来自人口普查局的工作人员。该数据集的收集目的是希望通过算法,实现对手写数字的识别。 1998年,Yan LeCun 等人发表了论文《Gradient-Based Learning Applied to Document Recognition》

查理王的博客 6万+

MNIST初级入门解读

MNIST初级入门解读 https://www.tensorflow.org/get_started/mnist/beginners http://yann.lecun.com/exdb/mnist/ http://www.jianshu.com/p/84f72791806f 机器学习的“Hello world!”程序就是MNIST。 MNIST是一个简单的计算机视觉数据图片集,

vagrantabc2017的博客 910

mnist是什么

MNIST(Modified National Institute of Standards and Technology database)是一个大型手写数字数据库,广泛用于训练和测试机器学习模型,特别是在计算机视觉领域。这个数据集包含了成千上万的手写数字图像,是进行数字识别算法研究和开发的经典数据集之一。

m0_57236802的博客 1966

Tensorflow- MNIST机器学习入门

tensorflow中文社区对官方文档进行了完整翻译。鉴于官方更新不少内容,而现有的翻译基本上都已过时。故本人对更新后文档进行翻译工作,纰漏之处请大家指正。(如需了解其他方面知识,可参阅以下这个教程的目标读者是对机器学习和TensorFlow都不太了解的新手。如果你已经了解MNIST和softmax回归(softmax regression)的相关知识,你可以直接阅读这个。在学习教程之前,请确保已经安装。当我们开始学习编程的时候,第一件事往往是学习打印"Hello World"。

2501_91623904的博客 1310

MNIST数据集入门与应用实战

MNIST数据集,全称为Modified National Institute of Standards and Technology database,是机器学习和计算机视觉领域广泛使用的一个经典数据集。其设计初衷是为了简化和标准化手写数字识别问题的研究工作,现在已经被认为是入门深度学习的”Hello World”。在深入研究手写数字识别后,研究者们意识到MNIST数据集的局限性。例如,其数据集中的图片分辨率较低,只有28x28像素,而且数据集的规模相对较小,无法代表真实世界中手写数字的多样性。

weixin_36282234的博客 1015

MNIST介绍

MNIST全称是Mixed National Institute of Standards and Technology database。这是一个非常庞大的手写数字数据库。 这些数据集有两个功能:一个功能是提供了大量的数据作为训练集和验证集,为一些学习人员提供了丰富的样 本信息一一这一点很宝贵,要知道在深度学习领域要想在一个方面有比较深的研究成果, 除了需要具备一定的网络设计和调优能力以外,还...

Sunshine_faner的博客 6073

美亚杯2023参赛全攻略:从检材下载到Veracrypt挂载的保姆级教程

本文提供美亚杯2023电子数据取证竞赛的完整参赛指南,重点解析从检材下载、Veracrypt挂载到实战取证的保姆级流程。针对新手常见误区,详细说明两套密码(ZIP解压密码与Veracrypt挂载密码)的区别与正确使用方法,并分享赛前环境搭建、赛中高效分析及赛后报告撰写的核心技巧,帮助参赛者系统备赛,规避基础错误。

y9z0a1b的博客 1078

Pytorch入门--详解Mnist手写字识别

代码每句都有其详细的注释,适合刚刚接触的小白。代码块直接粘贴,即可调试运行出结果。对神经网络有个直接感受

weixin_44888196的博客 1万+

ubuntu虚拟机搭建OP-TEE

在网上找了一些搭建OP-TEE的过程,模仿着进行搭建,结果有好多报错,为了方便自己以后重新搭建,所以将整个过程记录下来。

weixin_44213847的博客 998

MFC 修改CheckBox的文本颜色方法

设置主题 这一步是必须的,不可省略。 BOOL CMFCApplication1Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 // 设置主题 HWND

Kim的博客 2248

[转]MNIST机器学习入门

MNIST机器学习入门 转自:http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_beginners.html?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1 这个教程的目...

weixin_30561177的博客 1701

宏基因组分析|从Binning到MAG优化的全流程实战指南

本文提供了一份宏基因组分析从Binning到MAG优化的全流程实战指南。详细解析了宏基因组分箱(Binning)的核心原理与必要性,并手把手指导如何利用Bowtie2、MetaBAT2和CheckM等工具构建分箱流水线,进行质量评估与筛选,最终获得高质量宏基因组组装基因组(MAG)。文章还分享了常见问题排查与进阶优化策略,为后续物种分类、功能注释等深度分析奠定坚实基础。

weixin_29260291的博客 451

从手写数字识别入门深度学习丨MNIST数据集详解

就像无数人从敲下“Hello World”开始代码之旅一样,许多研究员从“MNIST数据集”开启了人工智能的探索之路。

OpenDataLab的博客 4万+

LiteOS | 基于LiteOS的智慧农业案例实验分享

分享一个基于小熊派+LiteOS+华为云的案例实验(智慧农业)。 实验框图 相关模块简介 1、STM32L431RCT6 2、LiteOS LiteOS是华为开发的轻量级实时操作系统: LiteOS源码GitHub仓库链接: https://github.com/LiteOS/LiteOS 其源码一级目录结构如下: 其内核包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管...

嵌入式大杂烩 5990

RK3588 平台imx334 驱动调试记录

rk3588调试imx334

xiaoning132的专栏 1789

Tensorflow实战(一)——MNIST

文章目录1. MNIST1.1 MNIST 简介1.2 MNIST 下载1.3 MNIST 使用1.4 图像标签的one-hot表示2. Softmax 回归2.1 Softmax 简介2.2 Softmax 实现3. 损失函数3.1 损失函数简介3.2 损失函数实现4. 运行模型5. 测试模型6. 完整代码与解析 引用 https://www.cnblogs.com/lizheng114/p/7439556.html https://www.cnblogs.com/xiaoyh/p/10813413.

陈陈陈Chan的博客 8030

14、X射线图像处理与特征提取全解析

本文全面解析了X射线图像处理与特征提取的关键技术,涵盖图像预处理、滤波、边缘检测、分割与恢复等流程,并深入探讨了几何特征(如面积、周长、圆度、椭圆拟合)、强度特征(均值、方差、对比度)、傅里叶描述符、不变矩(Hu矩、Gupta矩)以及局部描述符(SIFT、SURF)和稀疏表示方法。同时介绍了特征选择的过滤法、包装法和嵌入法,并结合Matlab代码示例展示了各类特征的实际提取过程。文章最后总结了当前技术的应用现状,并展望了深度学习在X射线图像分析中的未来潜力。

pz89012345的博客 133

入门学习MNIST手写数字识别

一、MNIST数据集 1.MNIST数据集简介 MNIST数据集是一个公开的数据集,相当于深度学习的hello world,用来检验一个模型/库/框架是否有效的一个评价指标。 MNIST数据集是由0〜9手写数字图片和数字标签所组成的,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。MNIST 数据集来自美国国家标准与技术研究所,整个训练集由250个不同人的手写数字组成,其中50%来自美国高中学生,50%来自人口普查的工作人员。

fencecat的博客 1万+

【STM32实物】基于STM32设计的智能仓储管理系统

近年来,随着我国仓储发展的和药品需求的不断增多,许多医院都采用药物仓储管理系统。我国的药物仓储产业已经有了长足的发展,仓库的规模不断变大,对仓储的要求也不断增高,药物的存储,识别以及对仓储环境条件的要求成为仓储的重要决策,他们可以根据不同的特点在不同场景中使用。本文详细介绍了一个基于单片机技术的智能仓储管理系统的设计与实现,这个系统可谓是集射频识别(RFID)技术和环境监测传感器于一身,旨在提高仓储操作的自动化和精确度。

嵌入式阿齐Archie 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MNIST是什么

初始的迷茫 我想很多菜鸟和我一样,开始零基础学习机器学习,没办法火啊,为了钱大家都是冲呀。估计很多人开始学习ML,就一头雾水,完全不知道在说什么。因为学习模式和学习其他语言完全不同,我们知道学习其他语言的时候,第一个程序就是打印“Hello World”。 其实机器学习是在某个框架下,使用某种语言,来解决问题。因此对于零基础的菜鸟而言,我们需要先学习好某种语言,可以推荐Python,因为功能强...

努力中的老周的专栏 4万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MNIST数据集

MNIST数据集

Iron802的博客 6万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

pytorch 入门 (三)案例一:mnist手写数字识别

本文为内部限免文章。

qq_33489955的博客 1721

MNIST机器学习入门(一)

首先介绍MNIST 数据集。如图1-1 所示, MNIST 数据集主要由一些手写数字的图片和相应的标签组成,图片一共有10 类,分别对应从0~9 ,共10 个阿拉伯数字。原始的MNIST 数据库一共包含下面4 个文件, 见表1-1。在表1 - 1 中,图像数据是指很多张手写字符的图像,图像的标签是指每一张图像实际对应的数字是几,也就是说,在MNIST 数据集中的每一张图像都事先标明了对应的数字。

1766

Tensorflow入门学习(一)——初识MNIST数据集

MNIST数据集 MNIST数据集是有许多手写数字的图片和相应的标签组成 原始数据集中包含的文件如下: 从上到小分别表示测试图片、测试标签;训练图片、训练标签。这里标签为0~9。 python中下载MNIST数据并查看属性 from tensorflow.examples.tutorials.mnist import input_data #导入tensorflow中的mnist数据模块 mn...

qq_42814064的博客 505

MNIST手写数字识别——深度学习入门记录

MNIST数据集是是识别任务中的入门级数据集,包含60000个训练样本和10000个测试样本。对于深度学习的初学者来说,使用MNIST数据集进行目标识别的实践是一件既轻松又能快速入门这一领域的明智选择。其中,JPG格式测试集样本格式如下图。JPG格式训练集样本格式如下图。

qq_40430552的博客 903
上一篇: IDEA使用maven搭建Spring Web项目
下一篇: (二)RNN-循环神经网络-Tensorflow中的实现
乐莫新相知
博客等级 码龄12年 13粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值