『TensorFlow』专题汇总
TensorFlow2.0快速入门:https://tf.wiki/zh/basic/tools.html
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TensorFlow:官方文档
TensorFlow:项目地址
本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习。
Keras使用tf.Session训练方法教程
一、API介绍
基础操作列表
常用基础操作
流程控制
『PyTorch』第六弹_最小二乘法对比PyTorch和TensorFlow :参数更新机制分析,流程控制初探
神经网络构建
『TensorFlow』网络操作API_上 :卷积层,池化层,激活函数(含dropout和bias_add)
层/网络解析与实现
『教程』CapsNet 架构 & TensorFlow 实现
『TensorFlow』读书笔记_Inception_V3_上
『TensorFlow』读书笔记_Inception_V3_下
『PyTorch × TensorFlow』第十七弹_ResNet快速实现
优化器&梯度操作
.minimize
- compute_gradients
- apply_gradients
『TensorFlow』网络操作API_下 :优化器相关接口
『TensorFlow』梯度优化相关 :梯度操作
集合操作与正则化实现
『TensorFlow』使用集合collection控制variables
#集合转换为字典,{节点名:输出张量值}
end_points = slim.utils.convert_collection_to_dict(end_points_collection) # 收集 & 获取 变量
tf.add_to_collection("loss",mse_loss)
tf.add_n(tf.get_collection("loss"))
损失函数
『TensorFlow』网络操作API_中 :损失函数以及分类器
模型载入
命令行解析
线程操作&数据读取
Dataset API读取数据
『TensorFlow』数据读取类_data.Dataset
传统数据读取方法
『TensorFlow』TFR数据预处理探究以及框架搭建 :基于queue处理TFR数据
线程控制器原理:
监视tensorflow所有后台线程,有异常出现(主要是越界,资源循环完了)时,其should_stop方法就会返回True,而它的request_stop方法则用于要求各个线程安全退出。需要使用local变量,初始化时注意。
常规图片数据读取方式:
img_bytes = tf.read_file(FLAGS.style_image)
image = tf.image.decode_png(img_bytes)
涉及队列操作时报错可能解决办法
OutOfRangeError (see above for traceback): FIFOQueue '_1_input_producer' is closed and has insufficient elements (requested 1, current size 0) [[Node: ReaderReadV2 = ReaderReadV2[_device="/job:localhost/replica:0/task:0/cpu:0"](WholeFileReaderV2, input_producer)]]
因为局部变量(local variables)没有初始化,将初始化变量语句改为
全局变量初始化:tf.global_variables_initializer().run()
局部变量初始化:tf.local_variables_initializer().run()
不再报错。局部变量很少,一般都是系统自己创建的变量,如记录训练进度的epoch。
可视化相关
ctrl + 鼠标滑轮 可以放大&缩小tensorboard中所有的页面
命名空间设置好:添加记录节点 -> 汇总记录节点 -> run汇总节点 -> [书写器生成]书写入文件 [-> 刷新缓冲区]
# 书写器生成,会自动记录指定图
tf.summary.FileWriter('./', sess.graph)
# 张量记录
tf.summary.histogram(layer_name+'/weights',Weights)
# 标量记录
tf.summary.scalar = ('loss',cross_entropy)
# 记录激活
merged = tf.summary.merge_all()
# 书写器生成
train_writer = tf.summary.FileWriter('logs/train',sess.graph)
# run记录
train_result = sess.run(merged, feed_dict={xs: X_train, ys: y_train, keep_prob:1})
# 书写记录
train_writer.add_summary(train_result,i)
# 刷新缓冲区,立即写入文件
train_writer.flush()
slim模块
二、TensorFlow的tips
节点和张量
节点张量铺设好了之后,只要不加sess.run(),可以运行脚本检查张量节点是否匹配,无需传入实际数据流。
'conv1'指节点,'conv1:0'指节点输出的第一个张量。
sess上下文环境中的函数调用即使不传入sess句柄,函数体内也存在于默认的sess环境中,可以直接sess.run()。
image_holder = tf.placeholder(tf.float32,[None, None, None, 3]),使用None回避指定大小。
sess实际运行单机模式时,会提取目标节点的所有前置依赖构建成子图,然后按照设备划分成多个局部图,局部图根据依赖先后关系对节点进行加载
设备指定使用tf.device('/cpu:0')上下文操作,且支持嵌套,逻辑于slim的scope一致
查看信息版本安装路径
import tensorflow as tf
tf.__version__ # 版本
tf.__path_ # 路径
# __看着是一个下划线,实际上是两个下划线
通常张量的Feed
TensorFlow中所有张量而不仅是占位符都是可以feed的,如果有feed,其优先级大于图中的计算流程。
『TensorFlow』专题汇总的更多相关文章
- 『MXNet』专题汇总
MXNet文档 MXNet官方教程 持久化模型 框架介绍 『MXNet』第一弹_基础架构及API 『MXNet』第二弹_Gluon构建模型 『MXNet』第三弹_Gluon模型参数 『MXNet』第四 ...
- 『TensorFlow』模型保存和载入方法汇总
『TensorFlow』第七弹_保存&载入会话_霸王回马 一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 ...
- 『TensorFlow』滑动平均
滑动平均会为目标变量维护一个影子变量,影子变量不影响原变量的更新维护,但是在测试或者实际预测过程中(非训练时),使用影子变量代替原变量. 1.滑动平均求解对象初始化 ema = tf.train.Ex ...
- 『TensorFlow』流程控制
『PyTorch』第六弹_最小二乘法对比PyTorch和TensorFlow TensorFlow 控制流程操作 TensorFlow 提供了几个操作和类,您可以使用它们来控制操作的执行并向图中添加条 ...
- 『TensorFlow』读书笔记_降噪自编码器
『TensorFlow』降噪自编码器设计 之前学习过的代码,又敲了一遍,新的收获也还是有的,因为这次注释写的比较详尽,所以再次记录一下,具体的相关知识查阅之前写的文章即可(见上面链接). # Aut ...
- 『TensorFlow』梯度优化相关
tf.trainable_variables可以得到整个模型中所有trainable=True的Variable,也是自由处理梯度的基础 基础梯度操作方法: tf.gradients 用来计算导数.该 ...
- 『TensorFlow』命令行参数解析
argparse很强大,但是我们未必需要使用这么繁杂的东西,TensorFlow自己封装了一个简化版本的解析方式,实际上是对argparse的封装 脚本化调用tensorflow的标准范式: impo ...
- 『TensorFlow』TFR数据预处理探究以及框架搭建
一.TFRecord文件书写效率对比(单线程和多线程对比) 1.准备工作 # Author : Hellcat # Time : 18-1-15 ''' import os os.environ[&q ...
- 『TensorFlow』第七弹_保存&载入会话_霸王回马
首更: 由于TensorFlow的奇怪形式,所以载入保存的是sess,把会话中当前激活的变量保存下来,所以必须保证(其他网络也要求这个)保存网络和载入网络的结构一致,且变量名称必须一致,这是caffe ...
随机推荐
- 简单的Json数据
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- windows10的普通用户使用Task Scheduler的问题
在Create Task 窗口的General选项卡中,在Security options 里有几个单选项,分别是 Run only when user is logged on ,Run wheth ...
- mvc jquery ajax传递数组null问题
mvc jquery ajax传递数, areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然 ...
- C++ STL stack 用法
Stack(栈)是一种后进先出的数据结构,也就是LIFO(last in first out) ,最后加入栈的元素将最先被取出来,在栈的同一端进行数据的插入与取出,这一段叫做“栈顶”. 使用STL的s ...
- openwrt路由器进入安全模式
openwrt路由器型号:WNDR3800 一.实验背景 在pc机上通过xshell软件登录openwrt路由器,pc机通过网线与openwrt路由器的LAN接口相连.openwrt路由器自带两块无线 ...
- centos7将网卡名字改成eth样式
ll /etc/sysconfig/grub lrwxrwxrwx 1 root root 17 Jun 12 2016 /etc/sysconfig/grub -> /etc/default/ ...
- jQuery实现input框输入值动态搜索
我们在平时的前端开发中,经常会遇到添加数据,如果在添加之前要指定某个用户或对象进行关联,那在实现上要比普通的添加要繁琐一点.我本来的想法是给一个iframe,在 里面显示所有的数据并提供一个筛选的功能 ...
- 【js】js声明与数据类型
之前整理知识点感觉有点没有针对性,每期知识点之间都没有关联,不成体系,其实对学习与运用知识并无益,随着知识的积累,不使用就会忘记.所以从本次开始,将对知识点进行体系化.先列出本期知识体系图,再进行逐步 ...
- SAP主数据文件版本号命名规范
前提说明 最近在实施公司的SAP系统,需要对供应商,成品半成品原辅料,工艺路线,BOM等各种主数据进行收集,由于牵扯到多个部门进行合作整理数据,为了更方便进行文件版本的管理,特意学习下文件版本号命名规 ...
- 【Alpha】Scrum Meeting 11
目录 前言 任务分配 燃尽图 会议照片 签入记录 前言 第11次会议于4月16日18:15在一公寓三楼召开. 交流确认了任务进度,讨论项目发布事宜,分配下一阶段任务.时长45min. 任务分配 姓名 ...