![](https://img-blog.csdnimg.cn/2020030614492186.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
TensorFlow框架
文章平均质量分 81
用于在学习深度学习中,记录一些疑难点、总结
shitoucoming
这个作者很懒,什么都没留下…
展开
-
ckpt学习下
TensorFlow的模型文件文件结构介绍:–checkpoint_dir | |–checkpoint | |–MyModel.meta | |–MyModel.data-00000-of-00001 | |–MyModel.index Tensorflow模型主要包括两个方面内容:1)神经网络的结构图graph;2)已训练好的变量参数。因此Tensorflow模型主要包含两个文件:.meta文件该文件保存了tensorflow完整的网络图结构,.meta文件是pb格式,包转载 2020-09-23 17:12:05 · 346 阅读 · 0 评论 -
tf.split 与 tf.squeeze 用法
看Char-RNN的代码时遇到这两个函数,记录一下备忘。先来看一下tf.split()函数,作用是分割tensor,将分割后的tensor放入一个list。split( value, # 输入的tensor num_or_size_splits, # 如果是个整数n,就将输入的tensor分为n个子tensor。如果是个list T,就将输入的tensor分为len(T)个子tensor。 axis=0, # 默转载 2020-07-14 19:58:21 · 256 阅读 · 0 评论 -
理解tf.clip_by_value()用法
tf.clip_by_value(A, min, max):输入一个张量A,把A中的每一个元素的值都压缩在min和max之间。小于min的让它等于min,大于max的元素的值等于max。例如:import tensorflow as tf; import numpy as np; y = np.array([[8,2,1], [1,3,6]]) with tf.Session() as sess: print sess.run(tf.clip_by_value(y,原创 2020-07-13 17:15:17 · 557 阅读 · 0 评论 -
tensorflow slim库的使用
slim库的导入:import tensorflow as tfimport tensorflow.contrib.slim as slim常用函数:与tensorflow自带的函数相比,slim能够让我们不用重复写函数的参数。那么函数的参数写在哪里呢?核心方法就是slim.arg_scope。slim.arg_scopedef arg_scope(list_ops_or_scope, **kwargs) list_ops_or_scope:要用的函数的作用域,可以在需要使用的地方用@ad转载 2020-07-13 11:33:08 · 320 阅读 · 0 评论 -
tf.expand_dims()和tf.tile()
tf.expand_dims()和tf.tile()tf.expand_dims() 修改形状,数据不变tf.tile()import tensorflow as tfx1 = tf.constant(value=[1, 2, 3], dtype=tf.float32)x2 = tf.constant(value=[ [1, 2, 3], [4, 5, 6], ...原创 2020-04-01 17:05:12 · 491 阅读 · 0 评论 -
tensorflow查看形状XXX.get_shape()、numpy查看形状XXX.shape tf.matmul(a, w)+b详细解释(CNN全连接相关的)
import tensorflow as tfa = tf.constant((1.0, 2.0, 3.0, 4.0), dtype=None, shape=(1, 4), name='a')w = tf.ones(shape=[4, 2], dtype=tf.float32, name=None)b = tf.ones(shape=[2], dtype=tf.float32, name=...原创 2020-03-25 22:16:30 · 374 阅读 · 0 评论 -
CNN中做归一化用到的相关API(自己的小总结:tf.nn.moments()函数理解) 以及CNN中NHWC转NCHW的方法
Note1:CNN中NHWC转NCHW的方法:比如卷积层输出的net形状为:[2, 3, 3, 4]即:NHWC为[2, 3, 3, 4]N:一个batch内图片的数量。H:垂直高度方向的像素个数。W:水平宽度方向的像素个数。C:通道数现为了做BN,想先将NHWC转为NCWH=[2, 4, 3, 3]方法呢?可以使用TensorFlow中的tf.transpose函数实现!n =...原创 2020-03-25 16:58:49 · 613 阅读 · 0 评论 -
tf.truncated_normal_initializer()和tf.random_normal_initializer()的区别和使用
两个初始器的使用和区别tf.random_normal_initializer:正态分布tf.truncated_normal_initializer:截取的正态分布原创 2020-03-25 00:39:35 · 4151 阅读 · 0 评论 -
tf.nn.moments()函数解析(最清晰的解释)
tf.nn.moments()函数用于计算均值和方差。# 用于在指定维度计算均值与方差tf.nn.moments( x, axes, shift=None, # pylint: disable=unused-argument name=None, keep_dims=False)参数:x:一个Tensor,可以理解为我们输出的数据,形如 [b...转载 2020-03-25 00:09:41 · 4326 阅读 · 1 评论 -
tf.train.get_or_create_global_step()和tf.trainable_variables()用法
tf.train.get_or_create_global_step()这个函数主要用于返回或者创建(如果有必要的话)一个全局步数的tensor变量。参数只有一个,就是图,如果没有指定那么就是默认的图。tf.trainable_variables()获取参与模型训练的变量值import tensorflow as tfglobal_step = tf.train.get_or_creat...原创 2020-03-19 23:30:41 · 3516 阅读 · 0 评论 -
tf.app.flags.DEFINE_XXX和tf.app.flags.FLAGS
tf.app.flags.DEFINE_XXX()就是添加命令行的optional argument(可选参数)而tf.app.flags.FLAGS可以从对应的命令行取出参数import tensorflow as tf# tf.app.flags.DEFINE_xxx()就是添加命令行的optional argument(可选参数)# 而tf.app.flags.FLAGS可以从对应...原创 2020-03-19 12:45:16 · 211 阅读 · 1 评论 -
pycharm无法用Anaconda里面的包,或者在cmd不能使用conda、python、pip等,有解决方法
要进行环境变量的配置:在环境变量path里面添加如下变量,几乎就能解决所有问题。找到安装Anaconda的目录,我的是在E盘下。E:\AnacondaE:\Anaconda\ScriptsE:\Anaconda\Library\bin...原创 2020-03-18 22:34:08 · 1534 阅读 · 0 评论 -
对tf.get_variable()的进一步理解
情况一:w = tf.get_variable在with tf.variable_scope(name=‘op’):下有使用w的相关代码,这样,会话中第一次执行到with tf.variable_scope(name=‘op’):的w相关代码时,用的w是第一次用初始化器构造的值,下一次用,发现w已经有值了,直接拿来用。情况二w = tf.get_variable既在with tf.varia...原创 2020-03-11 20:38:39 · 299 阅读 · 0 评论 -
Tensorflow中tf.Variable()和tf.get_variable()的区别与关系
从两个方法的名称上,可以简单理解一下,Variable是定义变量,而get_variable是获取变量(只不过如果获取不到就重新定义一个变量),如果按照这种逻辑,已经基本上可以理解两者的差异了...转载 2020-03-11 14:28:03 · 170 阅读 · 1 评论 -
tf.get_default_graph()和as_default()
tf.get_default_graph()和as_default()小总结:tf.get_default_graph() tensorflow中可以通过这个API获取当前代码中的默认会话对象as_default()这个操作,就是将with语句块中的默认图修改为当前构建的tf.Graph()这个对象;也就是:as_default的操作是将新建的图在当前这个with语句块的范围内设置为默认图参...原创 2020-03-11 01:27:27 · 2105 阅读 · 3 评论 -
分类实现:基于TensorFlow实现手写数字的模型训练预测
使用了tensorflow,不涉及深度学习的内容,底层是线性回归# -- encoding:utf-8 --import osimport numpy as npimport matplotlib.pyplot as pltimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data...原创 2020-03-10 19:23:49 · 191 阅读 · 0 评论 -
tensorflow中argmax、equal、cast、reduce_sum、reduce_mean等函数的用法
tf.argmax、tf.equal、tf.cast、tf.reduce_sum、tf.reduce_mean用法a = tf.argmax([[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], axis=1) # tf.argmax(a, axis=1)a是一个列向量,其中的元素是行向量。最后得到的是最大值的下标,按行b = tf.equal([0, 2,...原创 2020-03-10 17:40:18 · 188 阅读 · 0 评论 -
tensorflow分布式(用tensorflow:离线训练模型,实现在线预测)
tensorflow分布式训练:一般分布式在一个局域网内进行,不然通信代价太高(你先发给运营商,运营商再发给别人)tensorflow支持的分布式训练现在不怎么成熟...原创 2020-03-09 22:31:13 · 1244 阅读 · 0 评论 -
tensorflow与numpy用法相似之处
1.tensorflow和numpy的square和mean很相似:np.square(X)----tf.square(X)np.mean(X)----tf.reduce_mean(X)注:X为一个列向量2.加随机数种子,让多次运行的时候,随机数列一致numpy中:np.random.seed(28)tensorflow中:tf.set_random_seed(28)...原创 2020-03-09 22:15:36 · 163 阅读 · 0 评论 -
tensorflow(一个程序可有多个图和多个会话、图与会话的关系、会话程序段关注的主要点、run和eval)
1.tensorflow支持多个图在一个程序中构建的。2.一个程序中会话同样可以构建多个,但一般不这么用3.一个session一定属于某个图如果无任何参数的情况下,会话构造器将启动默认图,如下:with tf.Session(graph=tf.get_default_graph()) as sess: # graph参数的默认值是tf.get_default_graph(),即默认图...原创 2020-03-09 22:00:41 · 741 阅读 · 0 评论 -
浅理解tensorflow及其应用(科学计算库、框架、版本、tf.XXX、有状态的操作 Assign、模型的保存和加载、加速、图和默认图、tensorflow程序的两个阶段)
浅理解tensorflow及其应用(科学计算库、框架、版本、tf.XXX、有状态的操作 Assign、模型的保存和加载、加速、图和默认图、tensorflow程序的两个阶段)原创 2020-03-09 21:22:08 · 1989 阅读 · 0 评论 -
基于机器学习的线性回归代码
用的是机器学习的LinearRegression,使用了numpy工具,不是tensorflowimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressiondef f1(): # 随机数据产生 np.random.seed(28) ...原创 2020-03-09 01:43:24 · 184 阅读 · 0 评论 -
基于TensorFlow实现线性回归的模型训练预测二(加了可视化,网络用了两层,样本的特征数目是3)
# 本文件是基于TensorFlow实现线性回归的模型训练预测一的博客,加了可视化后的文件import numpy as npimport matplotlib.pyplot as pltimport tensorflow as tf# 加几个随机数种子,让多次运行的时候,随机数列一致np.random.seed(28)tf.set_random_seed(28)# 加了随机...原创 2020-03-09 01:40:46 · 270 阅读 · 0 评论 -
基于TensorFlow实现线性回归的模型训练预测一(一个样本一个特征深度学习,单层网络)
例子为:100个样本,每个样本1个特征import numpy as npimport matplotlib.pyplot as pltimport tensorflow as tfif __name__ == '__main__': with tf.Graph().as_default(): # 一、执行图的构建 # a. 定义占位符 ...原创 2020-03-09 01:28:59 · 535 阅读 · 0 评论 -
tensorflow模型保存和加载
模型保存:saver = tf.train.Saver() saver.save(sess, ‘./model/model.ckpt’)tensorflow模型保存后会产生四个文件:checkpoint: 简介文件model.ckpt.index 映射关系model.ckpt.metel 原数据信息model.ckpt.data-00000-of-00001具体的数据注意:ten...原创 2020-03-09 01:15:53 · 299 阅读 · 0 评论 -
tensorflow可视化
看一下加的主要操作,如下:tf.summary.scalartf.summary.merge_all()tf.summary.FileWriter(’./result’, sess.graph)writer.add_summary(summary, i)# tensorflow可视化with tf.device("/cpu:0"): with tf.variable_scope...原创 2020-03-09 01:02:17 · 89 阅读 · 0 评论 -
tensorflow变量作用域及嵌套
了解一下tensorflow中变量和操作的命名规范eg:foo/v:0,[4.]表示:foo域下,第一个v变量,其值为4.# tensorflow变量作用域及嵌套with tf.Session(config=tf.ConfigProto(log_device_placement=True, allow_soft_placement=True)) as sess: with tf.va...原创 2020-03-09 00:57:54 · 308 阅读 · 0 评论 -
tensorflow变量作用域
1.tf.Variable2.tf.get_variable和tf.variable_scopeimport tensorflow as tf# 方式一def my_func(x): w1 = tf.Variable(tf.random_normal([1]))[0] # tf.random_normal([1])得到一个服从正态分布的一维数组,后面[0]意思是将值取了出来 ...原创 2020-03-09 00:52:00 · 136 阅读 · 0 评论 -
tensorflow指定运算设备tf.device(GPU:Device mapping)
tf.device(设备)import tensorflow as tf# tensorflow指定运算设备with tf.device('/cpu:0'): # 这个代码块中定义的操作,会在tf.device给定的设备上运行 # 有一些操作,是不会在GPU上运行的(注意了) 所以建议如果安装的是GPU版本,把参数 allow_soft_placement设为True ...原创 2020-03-09 00:47:44 · 1461 阅读 · 0 评论 -
tensorflow实现一个求解阶乘的代码(以及控制依赖tf.control_dependencies)
tf.control_dependencies的用法# 需求三:实现一个求解阶乘的代码# 方法一# 1.定义变量sum = tf.Variable(1, dtype=tf.int32)# 2.定义一个占位符i = tf.placeholder(dtype=tf.int32)# 3.变量更改tmp_sum = sum*iassign_op = tf.assign(sum, tm...原创 2020-03-09 00:44:42 · 508 阅读 · 0 评论 -
用tensorflow实现动态的更新变量的维度数目
import tensorflow as tf# 需求二:编写一段代码:实现动态的更新变量的维度数目# 1.定义一个不定形状的变量x = tf.Variable( initial_value=[], # 给定一个空值 dtype=tf.float32, trainable=False, # 设置为False,表示要定义一个不定形状的变量 validate_...原创 2020-03-09 00:41:27 · 412 阅读 · 0 评论 -
用tensorflow实现累加器
需求:实现一个累加器,并且每一步均输出累加器的结果值# 需求一:实现一个累加器,并且每一步均输出累加器的结果值# 1.定义一个变量x = tf.Variable(1, dtype=tf.int32, name="v_x")# 2.变量的更新assign_op = tf.assign(ref=x, value=x + 1)# ref表示指定需要更新的变量,value表示把变量x更新为哪...原创 2020-03-09 00:34:59 · 307 阅读 · 0 评论 -
tensorflow占位符placeholder
注意:占位符也是一个张量(理解)```python# 占位符 1.tf.placeholder() 2.tf.placeholder_with_default(),就是不给值就用默认值,给值,且与原默认值,则会覆盖之前设置的默认值m1 = tf.placeholder(shape=[2, 3], dtype=tf.float32)m2 = tf.placeholde...原创 2020-03-09 00:29:41 · 427 阅读 · 0 评论 -
tensorflow的feed和fetches
使用feed和fetch可以为任意的操作(Operation/op)赋值或者从其中获取数据。1.feed表示给变量赋值,用的时候实际是feed_dict={变量1:值1,变量2:值2}这种字典的形式2.fetchs表示获取操作op所对应的结果。(1)若是只获取一个操作的结果,就直接sess.run(op名);(2) 若是行获取多个操作的结果,两种方式:一是同时获取结果:实现方法是:ses...原创 2020-03-09 00:23:43 · 645 阅读 · 0 评论 -
tensorflow变量的用法、修改
import tensorflow as tf# 变量初始化方式以及变量必须指定初始值a = tf.constant(value=3.0, dtype=tf.float32, name='a')b = tf.Variable(initial_value=2.0, dtype=tf.float32, name='b') # 变量必须指定初始值。c = tf.add(a, b)d = t...原创 2020-03-09 00:05:28 · 429 阅读 · 0 评论 -
tensorflow安装教程(CPU版、GPU版安装和运算)
tensorflow-cpu、tensorflow-gputensorflow安装:CPU:安装:pip install tensorflow-版本号卸载:pip uninstall tensorflow tensorflow-tensorboardGPU:安装:pip install tensorflow-gpu=版本号(这个的执行与cuda和cudnn的安装顺序无关)卸载:pip...原创 2020-03-06 15:07:16 · 396 阅读 · 0 评论