tensorflow
yyyzhhhhh
123
展开
-
tensorflow图像预处理
读写图像import matplotlib.pyplot as pltimport tensorflow as tfpic_path = 'demo.jpeg'image_raw = tf.gfile.FastGFile(pic_path,'rb').read()#从原图直接读出来的是一串二进制代码,需要将其解码得到像素数组with tf.Session() as sess:...原创 2018-06-21 00:31:43 · 667 阅读 · 0 评论 -
tfrecords数据的读写
tfrecords_write.pyimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport numpy as np#定义一个writer->转化数据的格式->包装好一个example->将example序列化->写入#将数据转化成相应的...原创 2018-06-18 23:29:05 · 247 阅读 · 0 评论 -
tf.nn.sparse_softmax_cross_entropy_with_logits()函数的用法
tf.nn.sparse_softmax_cross_entropy_with_logits(labels,logits) 该函数先计算logits的softmax值,再计算softmax与label的cross_entropy。 值得注意的是,logits使用的是向量的格式,如[.1,.5,.3],而label使用的是标签(非one-hot)格式,比如为2,即是[2],而不是[0,0,1]。...原创 2018-07-10 15:32:07 · 1688 阅读 · 0 评论 -
TensorBoard可视化
基本用法import tensorflow as tfinput1 = tf.constant([1.,2.,3.],name='input1')input2 = tf.Variable(tf.ran dom_uniform([3]),name='input2')output = input1 + input2writer = tf.summary.FileWriter('....原创 2018-07-10 15:50:18 · 843 阅读 · 0 评论 -
TensorBoard-PROJECTOR-高维向量可视化
PROJECTOR用于将高维向量进行可视化,通过PCA,T-SNE等方法将高维向量投影到三维坐标系。具体操作和解释见代码和注释:import tensorflow as tfimport mnist_inferenceimport osfrom tensorflow.contrib.tensorboard.plugins import projectorfrom tensor...原创 2018-07-10 17:10:01 · 6069 阅读 · 3 评论 -
TensorFlow使用GPU计算加速
使用方法:tf.device(‘/cpu:0’)或tf.device(‘/gpu:0’)。实例:会打印出:2018-07-10 23:48:12.430066: I tensorflow/core/common_runtime/placer.cc:886] add: (Add)/job:localhost/replica:0/task:0/device:GPU:0201...原创 2018-07-11 00:32:19 · 5292 阅读 · 0 评论 -
TensorFlow高层封装-Slim,Keras,Estimator
现在比较流行的tensorflow高层封装主要有4个,分别是Slim,TFLearn,Keras,Estimator.使用tf.slim在MNIST数据集上实现LeNet-5模型import tensorflow as tfimport tensorflow.contrib.slim as slimimport numpy as npfrom tensorflow.examp...原创 2018-07-05 21:47:05 · 4852 阅读 · 1 评论 -
tf.variable_scope和tf.name_scope的区别
简单地说,get_variable所在的命名空间受到tf.variable_scope影响,而不会受到tf.name_scope的命名空间的影响,即在tf.name_scope的命名空间a中使用get_variable声明一个名字为b的变量,那么这个变量的名字应为b而不是a/b。具体用法见下面的代码:import tensorflow as tfwith tf.variable_sco...原创 2018-07-05 23:43:09 · 1039 阅读 · 0 评论 -
GPU并行计算
GPU并行计算包括同步模式和异步模式:异步模式:同步模式:异步模式的特点是速度快,不用等待其他GPU计算完毕再更新,但是更新的不确定性可能导致到达不了全局最优。同步模式需要等到所有GPU计算完毕,并计算平均梯度,最后赋值,缺点是需要等待最后一个GPU计算完毕,时间较慢。实践中通常视情况使用上述两种方式。实例from datetime import datet...原创 2018-07-24 16:18:40 · 7448 阅读 · 1 评论 -
分布式TensorFlow
参考文献:https://blog.csdn.net/CodeMaster_/article/details/76223835https://blog.csdn.net/u012436149/article/details/53140869实例:异步import timeimport tensorflow as tffrom tensorflow.examples.tu...原创 2018-07-25 20:13:50 · 228 阅读 · 1 评论 -
cifar10数据的读取
cifar10数据集文件结构如图所示,其中data_batch_1~5.bin是训练集,每个文件包含10000个样本,test_batch.bin是测试集,包含10000个样本。打开任意一个文件,发现是一堆二进制数据, 其中一个样本由3037个字节组成,其中第一个字节是label,剩余3036(32*32*3)个字节是image,每个文件由连续的10000个样本组成,具体的读取过程参...原创 2018-07-28 19:01:43 · 5617 阅读 · 0 评论 -
tf.stride_slice和tf.slice的使用简介
tf.stride_slice(data, begin, end) tf.slice(data, begin, end) 两者都是用于切割矩阵,不同点在于slice的end索引是闭区间,stride_slice的end索引是开区间,所以一个截掉最后一列的小技巧是用stride_slice(data, [0, 0], [rows, -1]),但是如果是用slice(data, [0, 0], [...原创 2018-07-27 21:42:49 · 1455 阅读 · 0 评论 -
TensorFlow实现迁移学习
preprocess.pyimport globimport os.pathimport numpy as npimport tensorflow as tffrom tensorflow.python.platform import gfileinput_data = './flower_photos'output_file = './flower_processed_da...原创 2018-06-18 18:18:09 · 1566 阅读 · 4 评论 -
TensorFlow基本概念
计算图#with即上下文管理器g1 = tf.Graph()with g1.as_default(): #在g1的上下文中设置变量 v = tf.Variable(tf.zeros[1],dtype=tf.float32,name='v1')g2 = tf.Graph()with g2.as_default(): v = tf.Variable(tf.on...原创 2018-06-14 16:26:55 · 160 阅读 · 0 评论 -
tensorflow队列与多线程
队列import tensorflow as tf#定义一个最大长度为2的队列q = tf.FIFOQueue(2,tf.float32)#初始化,不知道为什么是这个格式init = q.enqueue_many(([0,10],))#出队x = q.dequeue()y = x+1#入队q_inc = q.enqueue(y)with tf.Session() a...原创 2018-06-21 15:58:53 · 346 阅读 · 0 评论 -
TensorFlow数据集Dataset的使用
利用数据集读取数据有三个基本步骤:定义数据及的构造方法,如tf.data.TFRecordDataset(input_files)定义遍历器,如one_shot_iterator,initializable_iterator使用get_next()获取tensor例:import tensorflow as tfdef parser(record): featu...原创 2018-06-21 21:10:08 · 3377 阅读 · 1 评论 -
TensorFlow神经网络优化
学习率#实现指数衰减学习率global_step = tf.Variable(0)#实现的功能类似于#decay_learning_rate = learning_rate * decay_rate ^^ (global_step / decay_step)#staircase的作用:是否对(global_step / decay_step)取整#参数:learning_rat...原创 2018-06-15 11:10:17 · 325 阅读 · 0 评论 -
TesorFlow之RNN与LSTM
RNN计算公式由当前输入和前一状态得到当前状态ht=f(Ux(t)+Wh(t−1)+b)ht=f(Ux(t)+Wh(t−1)+b)h^{t}=f(Ux^{(t)}+Wh^{(t-1)}+b)注意当前状态并不直接输出,而是再通过一个全连接层o(t)=Vh(t)+co(t)=Vh(t)+co^{(t)}=Vh{(t)}+c代码实现import numpy as np...原创 2018-06-23 18:33:41 · 214 阅读 · 0 评论 -
TensorFlow模型持久化
保存模型import tensorflow as tfv1 = tf.Variable(tf.constant(1.,shape=[1]),name='v1')v2 = tf.Variable(tf.constant(2.,shape=[1]),name='v2')result = v1+v2saver = tf.train.Saver()with tf.Session()...原创 2018-06-16 00:14:52 · 139 阅读 · 0 评论 -
tensorflow实现卷积神经网络
卷积层#strides参数第一和最后一个必为1,第2,3个表示在长宽两个方向的步长#padding可选SAME和VALID,SAME表示填充,PADDING表示不填充conv = tf.nn.conv2d(input,weights,strides=[1,1,1,1],padding='SAME')#使用bias_add函数而不是直接相加conv = tf.nn.bias_add(...原创 2018-06-17 22:47:47 · 122 阅读 · 0 评论 -
tf.slim实现inception-v3
import tensorflow as tfslim = tf.contrib.slim#设置函数的参数默认取值,这里将这三个函数的stride和padding参数设定好默认值,以后就不需要设置了#若以后重新设置,则以最新值代替with slim.arg_scope([slim.conv2d,slim.max_pool2d,slim.avg_pool2d],stride=1,padd...原创 2018-06-18 16:32:40 · 737 阅读 · 0 评论 -
TensorFlow实现Deep Dream
Deep Dream是Google公司在2015年公布的一项有趣的技术。在训练好的卷积神经网络中,只需要设定几个参数,就可以通过这项技术生成一张图像。假设输入网络的图像为x,网络输出的各个类别的概率为t,若一共有1000个分类,那么t是一个1000维的向量,代表了1000中类别的概率。假设香蕉类别的概率输出值为t[100],则t[100]的值代表了香蕉的概率,t[100]的值越高,香蕉的概率就...原创 2018-08-25 19:56:17 · 652 阅读 · 0 评论