Tensorflow
文章平均质量分 57
GarryLau
这个作者很懒,什么都没留下…
展开
-
哪些文件可用TensorFlow进行可视化?
1. 训练时生成的events.out.tfevents.XXX直接用tensorboard --logdir=.进行可视化。2. 由.meta文件生成events.out.tfevents.XXXimport tensorflow as tfsaver = tf.train.import_meta_graph('./mobilenet_v1_1.0_224.ckpt.meta')summary_write = tf.summary.FileWriter("./" , tf.get_defaul原创 2021-03-11 18:05:08 · 191 阅读 · 0 评论 -
TensorFlow多GPU训练直接使用CUDA_VISIBLE_DEVICES就行了?扯淡!
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataINPUT_NODE = 28*28NODE1 = 500OUTPUT_NODE = 10BASE_LEARNING_RATE = 0.01def get_weight_variables(shape, regular_ratio): w = tf.get_variable('w',shape,dtype=tf.float3原创 2020-11-29 02:00:25 · 957 阅读 · 1 评论 -
TensorBoard可视化高维向量
对图像进行卷积的过程可以看作是特征提取的过程。在图像迁移学习中可以将一组目标问题的图片通过训练好的卷积层得到瓶颈层,这些瓶颈层向量就是多个高维向量。如果在目标问题图像数据集上同一种类的图片在经过卷积层之后得到的瓶颈层向量在空间上比较接近,那么这样迁移学习得到的结果就可能会更好。TensorBoard提供了PROJECTOR界面来可视化高维向量之间的关系。PROJECTOR要求用户准备一个sprite图像(所谓sprite图像就是将一组图片组合成一整张大图片)和一个tsv文件给处每张图片对应的标签信息。c原创 2020-11-23 00:08:46 · 1189 阅读 · 1 评论 -
tf.summary该怎么使用呢?
tf.summaryimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataINPUT_NODE = 28*28NODE1 = 500NODE2= 10BATCH_SIZE = 100BASE_LEARNING_RATE = 0.8DECAY_RATE = 0.999TRAIN_STEPS = 30000# 生成变量监控信息并定义生成监控信息日志,其中var是需要记录的变量,na原创 2020-11-22 20:48:31 · 769 阅读 · 0 评论 -
tf.get_variable()到底受谁的管控?
保存计算图用于TensorBoard可视化import tensorflow as tfwith tf.name_scope('var'): a = tf.constant([[1,2,3],[4,5,6]],name='a',dtype=tf.float32) b = tf.Variable(initial_value=tf.random_uniform(shape=[2,3],minval=0,maxval=10,dtype=tf.float32,seed=1),name='b')原创 2020-11-21 08:35:20 · 105 阅读 · 0 评论 -
tf.py_func()就是个wrapper而已
tf.py_func()Given a python function func, which takes numpy arrays as its arguments and returns numpy arrays as its outputs, wrap this function as an operation in a TensorFlow graph.tf.py_func()的作用是将以numpy.arrary作为参数,并返回numpy.arrary的python函数包装成TensorFlow原创 2020-11-20 16:56:07 · 127 阅读 · 0 评论 -
如何使用TensorFlow进行训练数据的准备?
import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# The following functions can be used to convert a value to a type compatible with tf.Example.def _bytes_feature(value): """Returns a bytes_list from a string / byte.""" i原创 2020-11-19 20:26:30 · 443 阅读 · 0 评论 -
tf.get_variable_scope().reuse_variables()
get_variable_scope()返回VariableScopewith tf.Session() as sess: print(tf.get_variable_scope().reuse) # 默认Flase tf.get_variable_scope().reuse_variables() # 设置为True print(tf.get_variable_scope().reuse) print(tf.get_variable_scope()).原创 2020-11-19 18:40:11 · 314 阅读 · 0 评论 -
tensorflow.data
在数据集框架中,每一个数据集代表一个数据来源:数据可能来自一个张量,一个TFRecord文件,一个文本文件,或者经过sharding的一系列文件等。由于训练数据通常无法全部写入内存中,从数据集中读取数据时需要使用一个迭代器(iterator)按顺序进行读取数据集是计算图上的一个节点import tensorflow as tf# 从数组创建数据集input_data = [1,2,3,4,5]dataset = tf.data.Dataset.from_tensor_slices(input_原创 2020-11-19 18:38:14 · 183 阅读 · 0 评论 -
TFRecord和tf.Example
写tfrecord文件import tensorflow as tfimport numpy as npfrom tensorflow.examples.tutorials.mnist import input_datadef int64_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))def bytes_feature(value): return tf.原创 2020-11-19 18:36:38 · 358 阅读 · 0 评论 -
tf.image/tf.io
TensorFlow可编码图像格式tf.io.encode_jpeg(alias: tf.image.encode_jpeg)tf.image.encode_pngTensorFlow可解码图像格式tf.io.decode_bmp(alias: tf.image.decode_bmp)tf.io.decode_gif(alias: tf.image.decode_gif)tf.io.decode_jpeg(alias: tf.image.decode_jpeg )tf.io.decode_pn原创 2020-11-18 07:34:09 · 361 阅读 · 0 评论 -
tf.nn.rnn_cell.MultiRNNCell()使用示例
import tensorflow as tfimport numpy as npimport matplotlib as mpl#mpl.use('Agg')from matplotlib import pyplot as plt# 隐层节点个数HIDDEN_SIZE = 30# 深层循环神经网络层数NUM_LAYERS = 2# 循环神经网络的训练序列长度,即循环体展开次数TIME_STEPS = 10# 训练轮次TRAINING_STEPS = 10000# batchsi原创 2020-11-16 15:23:17 · 1756 阅读 · 0 评论 -
Transfer Learning with inceptionv3
train.pyimport numpy as npimport tensorflow as tffrom tensorflow.python.platform import gfileimport tensorflow.contrib.slim as slim# 加载通过TensorFlow-slim定义好的Inception_v3模型import tensorflow.contrib.slim.python.slim.nets.inception_v3 as inception_v3I原创 2020-11-15 23:53:31 · 139 阅读 · 0 评论 -
tf.train.ExponentialMovingAverage()的错误与正确实践
mnist_inference.pyimport tensorflow as tfINPUT_NODE = 784HIDE_NODE = 500OUTPUT_NODE = 10'''def inference(input_tensor,avg_class,regularizer): print(avg_class) with tf.variable_scope('layer1'): w1 = tf.get_variable('w1',shape=[INPUT原创 2020-11-11 16:57:39 · 359 阅读 · 0 评论 -
shape=(1) OR shape=()
TensorFlow中标量和数组的区别:import tensorflow as tfa = tf.get_variable('a',shape=(1),dtype=tf.int32,initializer=tf.constant_initializer(0),trainable=False)b = tf.get_variable('b',shape=(1,),dtype=tf.int32,initializer=tf.constant_initializer(0),trainable=False)原创 2020-11-11 00:52:25 · 711 阅读 · 0 评论 -
conda tricks
配置训练环境常用指令原创 2020-11-07 17:30:16 · 327 阅读 · 0 评论 -
tf.train.Saver().export_meta_graph()
TensorFlow中所有计算都会被表达为计算图上的节点。TensorFlow通过元图MetaGraph(.meta文件)来记录计算图中节点的信息以及运算计算图中节点所需要的元数据。元图是由MetaGraphDef Protocol Buffer定义的,主要包含meta_info_def,graph_def,saver_def等6类信息。meta_info_def中包括计算图上使用到的所有运算方法的信息,如果某一个运算在计算图上出现多次,在meta_info_def的属性stripped_op_list中原创 2020-11-05 14:49:02 · 594 阅读 · 0 评论 -
convert_variables_to_constants()
使用tf.train.Saver会保存运行TensorFlow程序所需要的全部信息,而在测试或离线预测时只需要知道如何由输入层经过前向传播计算得到输出层即可,不需要变量初始化、模型保存等辅助节点的信息。将变量取值和计算图结构分成不同的文件存储也不方便,因此TensorFlow提供了convert_variables_to_constants函数,通过这个函数可以将计算图中的变量及其取值通过常量的方式保存,这样整个TensorFlow计算图可以统一存放在一个文件中。...原创 2020-11-05 07:58:57 · 3187 阅读 · 0 评论 -
tf.train.NewCheckpointReader
保存训练模型的时候不仅持久化了计算图结构,也持久化了变量的取值。TensorFlow提供的tf.train.NewCheckpointReader类来查看保存的变量的信息。import tensorflow as tfv1 = tf.Variable(tf.constant(1.0,tf.float32, [1]),name='v1')v2 = tf.Variable(tf.constant(2.0,tf.float32, [1]),name='v2')result = v1 + v2sav原创 2020-11-05 07:28:05 · 2487 阅读 · 1 评论 -
模型的save和restore
保存模型import tensorflow as tfv1 = tf.Variable(1.0, name='v1')v2 = tf.Variable(2.0, name='v2')result = v1 + v2saver = tf.train.Saver()with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print(sess.run(result)) # 3.0原创 2020-11-04 07:37:14 · 1181 阅读 · 1 评论 -
以mnist展示滑动平均、正则化、变量管理
第一种实现:import tensorflow as tfold_v = tf.logging.get_verbosity()tf.logging.set_verbosity(tf.logging.ERROR)from tensorflow.examples.tutorials.mnist import input_datatf.logging.set_verbosity(old_v)#mnist = input_data.read_data_sets("/home/lg/Desktop原创 2020-11-03 22:48:43 · 188 阅读 · 0 评论 -
tf.train.ExponentialMovingAverage()
滑动平均模型是可以使模型在测试数据上更加鲁棒的一个方法。在TensorFlow中提供了tf.train.ExponentialMovingAverage来实现滑动平均模型,其参数衰减率decay用于控制模型更新的速度。ExponentialMovingAverage对每个变量维护一个影子变量(shadow variable),该影子变量的初始值就是相应变量的初始值,每次运行变量更新时,影子变量的值会更新为:shadow_variable=decay∗shadow_variable+(1−decay)∗va原创 2020-10-25 20:59:01 · 331 阅读 · 0 评论 -
对权重的正则化是怎么实施的?
将对权重的正则化作为loss的一部分import tensorflow as tf# 定义函数用于生成权重变量并将对权重的正则化加入tf.GraphKeys.LOSSESdef get_weight(shape): var = tf.Variable(initial_value=tf.random_normal(shape=shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=12),trainable=True) tmp = tf.cont原创 2020-10-25 11:36:14 · 1516 阅读 · 0 评论 -
tf.get_collection()是如何自动添加tf.GraphKeys的?
import tensorflow as tflabels = [[0.2,0.3,0.5], [0.1,0.6,0.3]]logits = [[2,0.5,1], [0.1,1,3]]logits_scaled = tf.nn.softmax(logits)result1 = tf.nn.softmax_cross_entropy_with_logits_v2(labels=labels, logits=logits) # 结果正确result2 =原创 2020-10-25 10:13:59 · 214 阅读 · 0 评论 -
指数衰减法控制学习率
TensorFlow提供了灵活的学习率设置方法——指数衰减法,使得学习率会指数级的减小,实现公式是: decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)其中,learning_rate表示初始学习率,global_step表示总的迭代训练次数,decay_steps表示改变学习率的间隔次数,decay_rate表示衰减速率,staircase为True表示学习率呈阶梯状衰减按为False表示连原创 2020-10-21 23:03:05 · 497 阅读 · 0 评论 -
TensorFlow中常用的损失函数
tf.nn.softmax_cross_entropy_with_logits_v2()import tensorflow as tflabels = [[0.2,0.3,0.5], [0.1,0.6,0.3]]logits = [[2,0.5,1], [0.1,1,3]]logits_scaled = tf.nn.softmax(logits)result1 = tf.nn.softmax_cross_entropy_with_logits_v2(la原创 2020-10-21 22:33:25 · 904 阅读 · 0 评论 -
The simplist tensorflow training sample
使用TensorFlow进行训练的基本过程是:确定输入、输出placeholder -> 构造计算图 -> 确定loss计算方式 -> 确定traing方法 -> 执行训练。import tensorflow as tfimport numpy as npx = tf.placeholder(tf.float32,shape=(None,2),name='x')w1 = tf.Variable(tf.random_gamma(shape=[2,3],alpha=0.2,b原创 2020-10-18 12:44:55 · 95 阅读 · 0 评论 -
如何指定计算图上的op在哪个设备上运行?
tf.Graph().device()官方示例:with g.device('/device:GPU:0'): # All operations constructed in this context will be placed # on GPU 0. with g.device(None): # All operations constructed in this context will have no # assigned device.# Defines a f原创 2020-10-18 00:40:21 · 147 阅读 · 0 评论 -
Initializer
CNN中对需要训练的参数进行合适的初始化非常重要,tensorflow提供一些初始化参数的方法。所有的初始化方法都定义在init_ops.py中。tf.random_normal_initializer()tf.random_uniform_initializer()The Glorot uniform initializer, also called Xavier uniform initializer.tf.glorot_normal_initializer()tf.constant_ini原创 2020-10-18 00:00:10 · 385 阅读 · 1 评论 -
tf.set_random_seed到底是怎么影响随机值的?
不管有没有通过tf.set_random_seed设置随机种子,在同一Session中随机函数产生的变量在多次sess.run()的时候值都是不同的。有没有设置随机种子控制的是不同Session中运行sess..run()得到的随机值是相同还是不同。如果在计算图中统一设置随机种子,则在不同Session中得到的随机值是相同的;如果只对某个变量设置随机种子则该变量在不同Session中得到的随机值是相同的;如果不设置随机种子则变量在不同Session中得到的随机数都是不同的。注:随机数的产生方法可参考tf原创 2020-10-17 22:12:31 · 1618 阅读 · 3 评论 -
tf.Variable变量初始化
TensorFlow中可以通过常量,随机数,常数生成器来对变量进行初始化,也可以用其它变量的值进行初始化。常数生成器返回表示特定常数的Tensor:tf.fill()tf.zeros()tf.zeros_like()tf.eye()tf.ones()tf.ones_like()import tensorflow as tfg = tf.Graph()with g.as_default(): v1 = tf.fill(dims=[2, 3], value=9,name='v1')原创 2020-10-17 20:42:57 · 1661 阅读 · 0 评论 -
获取需要优化参数(trainable变量)的两种方式
import tensorflow as tfg = tf.Graph()with g.as_default(): v1 = tf.Variable(tf.random_uniform([2,3]),name = 'v1',trainable=True) v2 = tf.Variable(tf.random_normal([1,2]),name = 'v2', trainable=False) # 两种方式获取需要优化的参数 # # 注意,coll1和coll2属于计原创 2020-10-17 11:30:07 · 544 阅读 · 0 评论 -
TensorFLow中张量的命名规则
TensorFlow的计算都可以通过计算图的模型来建立,而计算图上的每一个节点代表了一个计算,计算的结果就保存在张量中,所以张量和计算图上节点所代表的计算结果是对应的,这样张量的命名就可以通过“node:src_output"的形式来给出,其中node为节点的名称,src_output表示当前张量来自节点的第几个输出。详见示例:import tensorflow as tfg = tf.Graph()with g.as_default(): a = tf.Variable(initial_原创 2020-10-16 08:15:46 · 742 阅读 · 0 评论 -
tf.GraphKeys
在计算图中(默认计算图或者自定义计算图)可以通过tf.add_to_collection()函数将资源加入一个或多个集合中,然后通过tf.get_collection()函数获取一个集合里面的所有资源。import tensorflow as tfg = tf.Graph()with g.as_default(): v1 = tf.Variable(initial_value=tf.zeros(shape=[2,3], dtype=tf.float32),trainable=False,na原创 2020-10-16 07:35:50 · 162 阅读 · 0 评论 -
tf.Graph()创建图并在指定GPU上运行图
如果不创建图则tensorflow会自动维护一个默认的计算图,通过tf.get_default_graph函数可以获取当前默认 计算图。a = tf.constant(1,dtype=tf.float32,name='a')print(a.graph is tf.get_default_graph()) # 输出: True使用tf.Graph()方法可以创建新的计算图,各计算图直接相互独立。当使用新建的计算图时为保持清爽,应当使用明确的作用域去定义变量。import tensorflow as原创 2020-10-16 00:34:45 · 486 阅读 · 0 评论 -
TensorFlow Errors
import matplotlib.pyplot as pltimport tensorflow as tfimport numpy as np# define the grapha = tf.constant(3,name='a')b = tf.constant(4,name='b')c = tf.add(a,b,name='c')d = tf.multiply(a,b,name...原创 2020-03-02 11:45:15 · 611 阅读 · 0 评论 -
TensorFlow Micellany
当数据是一个数的时候,可以不管shape进行比较数据的大小,例如,下面的例子b和c的shape不同,但if条件语句的句子会被执行。with tf.Session() as sess: a = tf.constant([[[[[[[[[[[[[[[[[[[2]]]]]]]]]]]]]]]]]]],dtype=tf.int32,name='a') print(a) b =...原创 2020-03-02 11:44:47 · 103 阅读 · 0 评论 -
TensorFlow中tf.nn.conv2d()的卷积核的数据排布
import tensorflow as tfimport matplotlib as milmil.use("nbagg")from matplotlib import pyplotfig = pyplot.gcf()fig.set_size_inches(4, 4)image_filename = "n02085936_804.jpg"filename_queue = tf.t...翻译 2020-02-15 22:00:59 · 1424 阅读 · 0 评论 -
TensorFlow_demo
#!/usr/bin/env python# coding: utf-8# In[1]:import tensorflow as tf# In[2]:# graph = tf.get_default_graph() # default graphgraph = tf.Graph() # self define graph# In[3]:...原创 2019-12-29 23:57:23 · 183 阅读 · 0 评论 -
TensorFlow日常
Tensorflow学习日常,记录点滴,updating……读取图片并显示import matplotlib.pyplot as pltimport tensorflow as tfimage_data = tf.gfile.FastGFile(image_name_path, 'rb').read()with tf.Session() as sess: # D...原创 2018-04-29 21:20:40 · 398 阅读 · 1 评论