[TensorFlow]:初学TensorFlow

TensorFlow与PyTorch对比:哪个更适合初学者? 本文对比分析了深度学习领域的两大框架——TensorFlow与PyTorch,探讨了它们各自的特点、优势和不足。TensorFlow以其高效的静态计算图适合大规模应用,而PyTorch的动态计算图和简洁代码使其更适合实验和调试。通过具体代码示例,本文帮助初学者了解这两个框架的差异,提供了选择建议,帮助读者根据需求做出适合自己的框架选择。 阅读详情

前言

最近GAN网络频频报出喜人的成果,奈何Caffe目前并不能很好的实现这种网络的思想。所以,博主寻思着找个好学、好用又高效的工具。Google开源的TensorFlow立刻吸引了博主的目光。网上学习材料很多,但总对着电脑屏幕实在难受,博主就入手了一本黄文坚写的《TensorFlow实战》,以求快速入门(微笑脸)。

Tensorflow介绍

Google在2015年11月在github上开源的分布式机器学习系统TensorFlow 面向从事机器学习工作者,旨在借助社区力量共同维护TensorFlow同时回馈社区。
TensorFlow的关键词主要有:

  • 计算图
  • 自动求导
  • 并行计算
    • 数据并行
    • 模型并行
    • 流水线并行

入门模型训练

MNIST作为深度学习新手的入门模型很适合,一个是数据量少,需要的计算能力不高;另一点是模型简单,易于实现。
训练模型通常需要四个步骤:

  1. 定义网络结构
  2. 选择损失函数(Loss/Cost function)
  3. 输入数据
  4. 测试

下面我们就按照这四个步骤来进行入门学习。

定义网络结构

《TensorFlow实战》中,MNIST只使用了一个全连接层来作为例子。

#导入tensorflow库
import tensorflow as tf

#声明一个默认的session, 用于网络运算
sess = tf.InteractiveSession()
#声明一个placeholder来输入数据,None表示不限输入数量,784表示每条输入的维度
x = tf.placeholder(tf.float32, [None, 784])

#声明参数, 仅一层全连接层
w = tf.Variable(tf.zeros([784, 10])
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmult(w,x) +b)

#输入真实标签的地方
y_ = tf.placeholder(tf.float32, [None, 10])

选择损失函数、输入数据

#选择损失函数,这里用softmax loss
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_*tf.log(y), reduction_indices=[1]))
learning_rate = 0.5
#选择优化算法,这里用梯度下降方法, learning_rate:学习率;cross_entropy:损失函数
train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(cross_entropy)

#初始化参数
tf.global_variables_initializer().run()

#最大迭代次数
max_iter = 100

#读取训练数据集
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

#开始训练
for i in range(max_iter):
    #读取训练数据
    batch_xs, batch_ys = mnist.train.next_batch(100)
    train_step.run({x: batch_xs, y_: batch_ys})

测试

#接下来进行模型测试
correct_prediction = tf.equal(tf.argmax(y_,1), tf.argmax(y, 1))
#计算准确率,先把correct_prediction转化成浮点型,计算均值
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

#输出准确率
print accuracy.eval({x: mnist.test.images, y_:mnist.test.labels})

至此,一个简单的MNIST手写字体识别网络就搭建好了。


本博客为博主学习《TensorFlow实战》所做笔记,细节请参看原书。

2017-5-11 记

Tensorflow 中 tf.train.GradientDescentOptimizer 优化器详解 tf.train.GradientDescentOptimizer(learning_rate, use_locking=False,name=’GradientDescent’) learning_rate: A Tensor or a floating point value. 要使用的学习率 use_locking: 要是True的话,就对于更新操作(update operations.)... 阅读详情

相关推荐

TS808效果器制作教程

TS808效果器制作教程 可以在立创商城购买到大部分的电阻电容和IC,音频接口,踩钉,电位器和电源接口可以去某宝看看都买得到的。链接https//pan.baidu.com/s/1QId1eIE3fJ2u5NLBSISvGA。安装过程过于繁琐,把所有元器件按照图纸焊接完成就可以调试了,祝你们成功!这是TS808经典效果器制作过程的记录。IC是JRC4558。...

qq_18948149的博客 3423

用tf.GradientDescentOptimizer(learning_rate).minimize(loss)实现梯度下降法和会话流程

创建一个tensorflow最简单的模型实现会话,从而实现梯度下降法。 import tensorflow as tf import numpy as np inputX = np.random.rand(100) inputY = np.multiply(3,inputX) + 1#实现点乘 x = tf.placeholder("float32") weight = tf.Variable(0.25) bias = tf.Variable(0.25) y = np.dot(weight,x) + bi

qq_42612717的博客 2719

SAP批量数据导入实战:BDC、CATT、LSMW三大工具保姆级对比教程

本文深入对比了SAP系统中三大批量数据导入工具BDC、CATT和LSMW的核心定位、适用场景与实战操作。BDC适合复杂逻辑的编程式处理,CATT适合业务用户快速录制回放,LSMW则是数据迁移项目的结构化首选。文章提供了详细的选型决策框架、性能优化技巧及常见陷阱规避指南,帮助SAP顾问和开发者高效完成数据批量维护任务。

weixin_29213525的博客 151

tf.train.GradientDescentOptimizer().minimize()细致探索

1.tf.train.GradientDescentOptimizer().minimize() 其中的minimize可以拆为以下两个步骤: ① 梯度计算 ② 将计算出来的梯度应用到变量的更新中 拆开的好处是,可以对计算的梯度进行限制,防止梯度消失和爆炸 #方法1:拆开为两部分 import tensorflow as tf tf.reset_default_graph() #创建变量 wit...

从此做一个俗人 1万+

基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)

当前基于STM32设计的独居老人居家监护系统为独居老人提供一种简便、实时的健康监护服务。该系统通过集成多种传感器和功能模块,能够实时监测老人的生理指标、姿态以及室内环境状况,并通过微信小程序远程显示数据,当出现异常情况时及时发出报警提醒。

1万+

告别手动查文献!用Claude Haiku 4.5一键帮你检索+插入参考文献,科研效率直接翻倍(附实操演示+AI提示词)

以下是我的论文段落内容与参考文献列表。以下是我论文段落内容【粘贴论文段落】,请根据每个段落的主题自动检索近五年内的高相关学术文献(以真实DOI或可查询来源为准),要求:1)为每个段落匹配2–3条最相关的文献;另一种是你没有现成的文献列表,需要AI能够帮你检索,筛选输出合适的参考文献列表,并将其正确插入至段落中。选择完成后,先让它检索文献,我设计了一段AI提示词,让Haiku 4.5模型围绕研究主题,给我在各大数据库搜索近五年的文献,并以表格的形式输出文献的核心信息,确保DOI号能直接跳转到原文。

qq_64378896的博客 407

tensorflow入门 ubuntu mnist cnn例程

一、安装 二、mnist讲解和tf中的线性神经网络分类例程 三、查看可视化结果 四、mnist数据集 CNN分类例程

zhangSipppCsdn的博客 1464

Unreal5 从入门到精通之 如何实现 离线语音识别

本文介绍了如何使用离线语音识别插件 Offline Speech Recognition 进行本地语音转文本处理。该插件支持离线运行,用户可以通过下载并运行语言服务器(如 Vosk)来处理语音数据。文章详细说明了如何设置语言服务器、下载语言模型,并在虚幻引擎(UE)项目中配置麦克风和语音捕获。此外,还介绍了如何将 SoundWave 作为输入,以及如何通过节点将语音数据发送到语言服务器进行处理。最后,提供了相关文档链接以供进一步参考。

TxNet 904

TensorFlow笔记(十二)——tf.train中的Optimizer相关的函数与功能介绍

目录 1、序言 2、Tensorflow函数 2.1 训练 (Training) █优化 (Optimizers) █Slots █协调器和队列运行器(Coordinator and QueueRunner) 1、序言 本文所讲的内容主要为以下列表中相关函数。函数training()通过梯度下降法为最小化损失函数增加了相关的优化操作,在训练过程中,先实例化一个优化函数,比如 ...

qq_37764129的博客 5483

基于STM32L4XX 、HAL库的TMC2226-SA-T步进电机驱动器驱动程序应用设计

集成的功率MOSFET可处理高达2A RMS的电机电流,并具备保护与诊断功能,确保运行稳健可靠。作为业界最先进的STEP/DIR步进电机驱动系列,该芯片通过升级设计实现无噪音、高精度运行,为用户提供高性价比且极具竞争力的解决方案。// 用于PDN_UART单线通信。// HAL_UART_Transmit - 注意PDN_UART是单线,收发共线。.huart = &huart1, // PDN_UART连接的USART。均方根步进/方向控制接口,提供8、16、32或64微步针设置,

PP_Cottage的博客 621

【占用网络】OccNet: Scene as Occupancy 适用于检测、分割和规划任务 ICCV2023

本文分享“占用网络”方案中,具有代表性的方法:OccNet。它以多视角视觉为核心,首先生成BEV特征,然后通过级联结构和时间体素解码器重建生成3D占用特征。构建一个通用的“3D占用编码特征”,用以表示3D物理世界。这样的特征描述可以应用于广泛的自动驾驶任务,包括检测、分割和规划。

黎国溥 3360

如何快速掌握TensorFlow Federated:面向初学者的完整开源框架指南

TensorFlow Federated(TFF)是一个开源框架,专为在去中心化数据上进行机器学习和其他计算而设计。本指南将帮助新手快速入门,从安装到基础使用,轻松掌握这一强大工具的核心功能。 ## 📦 两种简单安装方式 ### 一键pip安装步骤 1. **准备Python环境** ```bash sudo apt update sudo apt install pyth

gitblog_00229的博客 1004

HyperLynx(十九)DDR(二)DDR的地址仿真

(5)设置水平标尺为2ns/div,垂直标尺为500mV/div,如果有必要,可以通过多次仿真,得到一个更加理想的结果。此外,还可以看到信号在高低电平切换时,反射波形基本趋于平缓,许多大的反射切换边缘已减小,这给了我们更大的定时裕量。如果这些DIMM是缓冲过的,则4个DIMM通道是可行的,但因为这是一个无缓冲DIMM,(20)在编辑传输线对话框中,选择“Values”选项卡,改变传输线长度为3in,具体设置如图所示,单击“确定”按钮。(17)为了增加电压摆幅,选择一个比原来的47Ω小的电阻。

小幽余生不加糖 4257

如何快速掌握TensorFlow:面向初学者的完整实战教程指南

TensorFlow-Course是一个精心设计的开源项目,专门为初学者和普通用户提供简单易用的TensorFlow教程。这个项目包含了从TensorFlow基础知识到机器学习实战的完整学习路径,帮助开发者快速上手深度学习框架,构建高效的机器学习系统。无论你是刚接触TensorFlow的新手,还是希望系统学习深度学习的中级开发者,这个教程库都能为你提供实用的学习资源。 ## 🚀 TensorF

gitblog_00828的博客 682

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

tensorflow 初学前须知: 张量和tensorflow的操作函数

一、张量 == 数组 1、对应关系 TensorFlow使用 张量 (Tensor)作为数据的基本单位。 标量(0维数组)、向量(1维数组)、矩阵(2维数组) # 定义一个随机数(标量) random_float = tf.random.uniform(shape=()) # 定义一个有2个元素的零向量 zero_vector = tf.zeros(shape=(2)) # 定义两个2×2的常...

尚墨1111的博客 266

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

机器学习:TensorFlow初学

numpy常用的函数 dot: 数组的点积 dot product a = np.arange(0,9) #Out[45]: array([0, 1, 2, 3, 4, 5, 6, 7, 8]) b = a[::-1] #Out[47]: array([8, 7, 6, 5, 4, 3, 2, 1, 0]) np.dot(a,b) #Out[48]: 84 随机数生成 tf.random_n...

ai-phy-mac-com 301

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TensorFlow武林志:初学者的内功修炼指南

定义好张量的运算流程后,TensorFlow会自动完成反向传播的"真气回流"过程,这正是自动微分的魔法所在。就像故事中林枫需要反复练习真气运行一样,模型的超参数调整也需要多次实验,学习率、批量大小等都需要"运功"得当。SGD如少林基础心法稳扎稳打,Adam则似逍遥派武功灵活多变,要根据任务特性选择合适的"修炼方法"。先用MNIST这样的"基础剑法"练手,等"内力"深厚后再挑战ImageNet这样的"绝世武功"。TensorBoard就像"明心见性"的境界,能让你直观看到训练过程中的"真气流动"情况。

GreenLeaf78的博客 859

TensorFlow Sequential API:初学者深度学习利器

TensorFlow 的 Sequential API 是深度学习中一个简单直观的工具,特别适合初学者构建顺序神经网络。它允许用户轻松定义、编译和训练模型,并通过模型摘要理解数据流动和参数变化。虽然 Sequential API 在简单任务中表现出色,但在处理多输入/输出、复杂层连接或自定义架构时,其灵活性不足,此时应考虑使用 TensorFlow 的功能性 API。总体而言,Sequential API 是初学者进入深度学习的理想起点,但随着任务复杂性的增加,功能性 API 提供了更大的灵活性和控制力。

XianxinMao的博客 898

[转、译]:写给初学者的Tensorflow介绍-1

转、译 转:写给初学者的Tensorflow介绍 2018年04月16日 17:07:14 云水木石 阅读数 9459 ...

BeeGreen的博客 397

[译、转]:写给初学者的Tensorflow介绍 - 2

转 [译、转]:写给初学者的Tensorflow介绍 - 2 2019年03月27日 16:46:06 云水木石 阅读数 178 ...

BeeGreen的博客 432

如何快速上手TensorFlow:初学者入门指南与实战技巧

想要快速掌握**TensorFlow**这个强大的机器学习框架吗?作为深度学习领域的行业标准,TensorFlow为初学者提供了直观的学习路径和丰富的实战资源。无论你是想构建神经网络、实现图像识别,还是开发自然语言处理应用,这个**终极入门指南**都将为你指明方向。😊 TensorFlow是一个开源的机器学习框架,由Google开发并维护。它支持从简单的线性回归到复杂的深度学习模型的各种算法,

gitblog_01009的博客 640

如何全面评估TensorFlow模型:初学者必备的终极指南

TensorFlow作为最流行的深度学习框架之一,提供了强大的模型构建能力,但一个成功的机器学习项目不仅需要构建模型,更需要科学的评估方法。本文将为初学者提供TensorFlow模型评估的完整流程,包括核心评估指标、验证方法和实用工具,帮助你全面了解模型性能并持续优化。 ## 为什么模型评估对TensorFlow项目至关重要 在机器学习工作流中,模型评估是确保模型可靠性和实用性的关键步骤。通过

gitblog_00023的博客 597

tensorflow保存模型_人工神经网络搭建:TensorFlow初学笔记

配置环境:python -V:3.7.1 TensorFlow -V:1.14.0安装tensorflow遇到的坑本以为安装tensorflow跟安装别的库一样,结果安装时安装成功了,但是一导入就错,后来才发现安装的tensorflow的版本跟python的版本,跟编译器版本,都有关系。而且,加入安装的是GPU版本,跟显卡的运算平台CUDA,神经网络加速库cuDNN还有关系。所以,在安装...

weixin_39933356的博客 169

TensorFlow初学者渐进式学习框架:从张量操作到模型调试

张量是深度学习中最基础的数据结构,本质是带形状与类型约束的多维数组;其核心原理在于形状匹配、自动微分与计算图执行机制。掌握张量操作与梯度追踪能力,不仅支撑模型构建与训练,更构成可复现、可调试的工程实践基础。典型应用场景包括图像分类预处理、自定义训练循环实现、TensorBoard可视化分析等。本框架聚焦TensorFlow 2.x Eager模式下的渐进式学习路径,通过6个物理可感的Baby Steps,帮助零基础学习者建立计算图直觉与模型调试能力,绕开抽象悬崖与环境陷阱。

cunfuteng7334的博客 359

如何快速入门TensorFlow Graphics:初学者完全指南

TensorFlow Graphics是一个强大的开源项目,它为TensorFlow提供了可微分的图形层,让开发者能够轻松实现各种复杂的3D图形和计算机视觉任务。本指南将帮助你快速掌握TensorFlow Graphics的核心概念和使用方法,开启你的3D深度学习之旅。 ## 📚 什么是TensorFlow Graphics? TensorFlow Graphics是一个专为3D计算机视觉和

gitblog_07163的博客 479

初学tensorflow遇到的Error——UnrecognizedFlagError: Unknown command line flag 'f'

最近在学习《tensorflow实战》时需要下载cifar10数据集,在cifar10目录下用到命令: import cifar10,cifar10_inputcifar10.maybe_download_and_extract() 出错,具体错误信息 UnrecognizedFlagError Traceback (most r...

diaipi1418的博客 959
上一篇: [Caffe]:关于pycaffe的使用
下一篇: [Linux]:ssh远程访问内网
chamsu
博客等级 码龄14年 78粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值