TensorFlow
oyejiji
这个作者很懒,什么都没留下…
展开
-
TensorFlow读取tfrecords数据
因为要用到TensorFlow,自然少不了数据的读取,这里我自己写了一个tfrecords的数据的读取函数"""Created on Wed Jun 28 13:56:35 2017@author:liao"""import tensorflow as tfimport numpy as npfrom PIL import Imageimport pprint原创 2017-07-09 16:58:34 · 1351 阅读 · 0 评论 -
tensorflow之axis
之前用python的numpy库的时候一直没理解axis这个概念,最近用tensorflow又碰到这个东西,于是认真学习了一些,并参考了点击打开链接,这里做一下总结。TensorFlow里的axis概念和numpy里是一样的。axis的概念是针对tensor提出的,在tensor某一维度上进行的操作。讲解台抽象,我们来看看栗子吧import tensorflow as tf x=tf.原创 2017-08-14 10:09:00 · 5732 阅读 · 3 评论 -
tf.arg_max和tf.argmax
参考官方文档感觉这两个函数作用差不多但是我习惯用tf.argmaxformat:argmax(input, axis=None, name=None, dimension=None)Args:input: A `Tensor`. Must be one of the following types: `float32`, `float64`, `int64`, `int32`, `uint原创 2017-08-14 11:24:59 · 6889 阅读 · 0 评论 -
tf.equal
参考官方文档format:equal(x, y, name=None)Args: x: A `Tensor`. Must be one of the following types: `half`, `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, `complex64`, `quint8`,原创 2017-08-14 11:34:31 · 767 阅读 · 0 评论 -
tf.nn.conv2d()
由于我做的是图像处理方面的,所以2d卷积用得最频繁,为了防止在使用中出错,节省调试时间,有必要好好的看看官方文档,欲利其事,必先利其器。format:conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None) Args: input: A `Tenso原创 2017-08-14 14:17:45 · 284 阅读 · 0 评论 -
tf.nn.max_pool
max_pool函数经常用到,所以做个记录参考官方文档format:max_pool(value, ksize, strides, padding, data_format='NHWC', name=None)原创 2017-08-14 14:53:13 · 317 阅读 · 0 评论 -
tf.contrib.slim
slim这个模块是在16年新推出的,其主要目的是来做所谓的“代码瘦身”。主要引用这里点击打开链接原创 2017-08-23 17:17:17 · 6928 阅读 · 0 评论 -
tf.Print()
参考TensorFlow官网,知道改函数主要用于调试用的。具体可以看官网API介绍。下面举几个栗子原创 2017-09-14 16:22:29 · 14200 阅读 · 0 评论 -
从TensorFlow的.ckpt文件中读取网络的参数
为了在FPGA上实现SSD,需要将TensorFlow上的SSD网络参数从checkpoint文件中读取出来,于是参考了一下这个博客点击打开链接。代码如下import osimport pathimport numpy as npfrom tensorflow.python import pywrap_tensorflowcheckpoint_path='./checkpoints转载 2017-09-10 16:10:01 · 7374 阅读 · 1 评论 -
如何条件遍历筛选numpy的ndarray数据
因为很多数据是numpy的ndarray格式的,在对ndarray进行处理时就涉及到条件的筛选,比如去掉数据中的小于1或者大于1的数据,而且会经常用到,所以就写个博客记录一下。1.np.where()如果用np.where 函数,返回的是符合的元素的index,具体看代码2.姑且称为切片法吧显示还是方法二比较简单快捷,代码的可读性也高原创 2017-09-10 20:56:43 · 9169 阅读 · 0 评论 -
用tensorflow的slim模块快速实现mnist手写体识别分类
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datafrom tensorflow.examples.tutorials.mnist import mnistimport tensorflow.contrib.slim as slimmnist=input_data.read_d原创 2017-09-11 10:36:25 · 2998 阅读 · 0 评论 -
tf.app.flags.DEFINE_string()和tf.app.flags.FLAGS
在看SSD的TensorFlow源码(链接点击打开链接)时遇到了这tf.app.flags.DEFINE_string()函数和tf.app.flags.FLAGS变量,于是翻阅TensorFlow官网API结果竟然是。。。真是相当于白说,意思还是让我自己看源码。。。。。。。于是上网找,还是找到了Stack Overflow里的一个解答点击打开链接答案说其实这个,很多时原创 2017-08-21 14:00:39 · 50347 阅读 · 30 评论 -
argarse.ArgumentParser.parse_known_args()解析
在学习这个函数之前,请看点击打开链接,这里的简单介绍。最近经常看到这个函数,于是就去python官网看了一下API说明,点击打开链接。大致意思就是:有时间一个脚本只需要解析所有命令行参数中的一小部分,剩下的命令行参数给两一个脚本或者程序。在这种情况下,parse_known_args()就很有用。它很像parse_args(),但是它在接受到多余的命令行参数时不报错。相反的,返回一原创 2017-09-11 16:28:55 · 11698 阅读 · 4 评论 -
血与泪的tensorboard
纪念一下被tensorboard卡得蛋疼的一天环境:Ubuntu14.04 服务器tensorflow版本:1.3原本已经在windows上实用过tensorboard没出什么问题,而在服务器上用却几乎把所有的坑都踩扁了。0.0我的events file的绝对路径/home/lishanliao/tf_test/tf_log,然后按照官网运行tensorboar原创 2017-09-12 15:02:57 · 4845 阅读 · 2 评论 -
TensorFlow指定特定GPU以及占用显存的比例
因为LZ是使用GPU服务器跑TensorFlow,而TensorFlow默认的是占用所有GPU,于是为了不影响其他同学使用GPU,于是就试验和总结了一下TensorFlow指定GPU的方法。。环境系统:Ubuntu14.04TensorFlow:v1.3GPU 8个GTX1080,第一列的0~7的数是GPU的序号一.设置指定GPU1.一劳永逸的方法,直接在~/.原创 2017-08-22 22:55:52 · 36730 阅读 · 5 评论 -
tf.subtract()
参考官方文档format:subtract(x, y, name=None)Args: x: A `Tensor`. Must be one of the following types: `half`, `float32`, `float64`, `int32`, `int64`, `complex64`, `complex128`. y: A `Tensor原创 2017-08-11 11:31:30 · 13735 阅读 · 2 评论 -
tf.convert_to_tensor()
这是个很有用的函数,我们经常需要将python的数据类型转换成TensorFlow可用的tensor数据类型,所以仔细研究一下这个函数还是很有必要的。参考官方说明文档format:convert_to_tensor(value, dtype=None, name=None, preferred_dtype=None) Args: value: An object whos原创 2017-08-10 14:52:55 · 25980 阅读 · 2 评论 -
python小工具--将cifar10转为图像数据
将cifar10数据可视化,下面是具体的程序"""Created on Thu Jun 15 21:56:21 2017@author: liao"""#用于将cifar10的数据可视化import pickle as pimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.image as pl原创 2017-07-09 17:09:20 · 3780 阅读 · 2 评论 -
tf.control_dependencies()
参考这里点击打开链接的信息我们可以知道,TF可以协调多个数据流,在存在依赖的节点下非常有用,例如节点B要读取模型参数值V更新后的值,而节点A负责更新参数V,所以节点B就要等节点A执行完成后再执行,不然读到的就是更新以前的数据。这时候就需要个运算控制器tf.control_dependencies。参考官方说明文档format:control_dependencies(self, contr原创 2017-08-08 20:42:55 · 5653 阅读 · 0 评论 -
tf.Variable()
主要参考这里点击打开链接,当训练模型时,用变量来存储和更新参数。变量包含张量 (Tensor)存放于内存的缓存区。建模时它们需要被明确地初始化,模型训练后它们必须被存储到磁盘。这些变量的值可在之后模型训练和分析是被加载。当创建一个变量时,你将一个张量作为初始值传入构造函数Variable()。TensorFlow提供了一系列操作符来初始化张量,初始值是常量或是随机值。注意,所有这些原创 2017-08-09 10:03:50 · 460 阅读 · 0 评论 -
Saver类--变量的保存和恢复
保存和恢复变量我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试。Tensorflow针对这一需求提供了Saver类。Saver类提供了向checkpoints文件保存和从checkpoints文件中恢复变量的相关方法。Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 。只要提供一个计数器,当计数原创 2017-08-09 10:26:21 · 969 阅读 · 0 评论 -
tf.concat()
将张量沿着指定的维数拼接起来例子,栗子:import tensorflow as tf#t1=tf.Variable(tf.constant([[1,2,3],[4,5,6]]))#t2=tf.Variable(tf.constant([[7,8,9],[10,11,12]]))t1=tf.constant([[1,2,3],[4,5,6]])t2=tf.constant([[7,8,原创 2017-08-09 11:34:38 · 470 阅读 · 0 评论 -
tf.cond()的用法
由于tensorflow使用的是graph的计算概念,在没有涉及控制数据流向的时候编程和普通编程语言的编程差别不大,但是涉及到控制数据流向的操作时,就要特别小心,不然很容易出错。这也是TensorFlow比较反直觉的地方。在TensorFlow中,tf.cond()类似于c语言中的if...else...,用来控制数据流向,但是仅仅类似而已,其中差别还是挺大的。关于tf.cond()函数的具体原创 2017-08-08 15:18:49 · 82997 阅读 · 13 评论 -
tf.truncated_normal()
参考官方说明文档format: truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)Argus:shape: A 1-D integer Tensor or Python array. The shape of the output tensor.(一维的整形Tenso原创 2017-08-09 17:17:16 · 4014 阅读 · 4 评论 -
tf.nn.relu()--修正线性单元函数
参考官方文档format:relu(features, name=None)Args:features: A `Tensor`. Must be one of the following types: `float32`, `float64`, `int32`, `int64`, `uint8`, `int16`, `int8`, `uint16`, `half`. na原创 2017-08-09 17:58:48 · 4226 阅读 · 0 评论 -
tf.matmul()
由于这个函数参数太多,只记录常用的参数和功能。详情参见对应的官方文档Format:tf.matmul(a,b,name)Args: a:`Tensor` of type `float16`, `float32`, `float64`, `int32`, `complex64`,b: `Tensor` with same type and rank as `a`.(也就是原创 2017-08-09 20:09:08 · 11507 阅读 · 7 评论 -
关于tensorflow的图计算的感性认识的栗子
由于也是刚用TensorFlow不久,很多概念的东西都不太熟悉,古人云绝知此事要躬行,正好碰到个很有趣的栗子,能很好的说明TensorFlow的符号式的编程方式和我们熟悉的命令行式的编程方式的不同。栗子import tensorflow as tfresult=tf.truncated_normal(shape=[5,5],mean=0,stddev=1)relu=tf.nn.relu原创 2017-08-09 20:23:09 · 237 阅读 · 0 评论 -
tf.multiply()
由于在深度学习中高频率的用到这个函数,所以做一下记录format:multiply(x, y, name=None)原创 2017-08-10 10:18:03 · 28308 阅读 · 0 评论 -
tf.nn.softmax_cross_entropy_with_logits()
参考官方文档format:softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None) Args: _sentinel: Used to prevent positional parameters. Internal, do not use.(一般不原创 2017-08-10 10:34:33 · 1012 阅读 · 0 评论 -
tf.nn.sparse_softmax_cross_entropy_with_logits()
参考官方文档format:sparse_softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, name=None) Args: _sentinel: Used to prevent positional parameters. Internal, do not use.(这个参数原创 2017-08-10 11:12:47 · 19709 阅读 · 2 评论 -
tf.add()
参考官方说明文档format:add(x, y, name=None) Args: x: A `Tensor`. Must be one of the following types: `half`, `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, `complex64`, `complex1原创 2017-08-10 14:26:09 · 24821 阅读 · 0 评论 -
tensorboard的安装的容易忽略的路径问题
在安装完cuda之后你需要在~/.bashrc的文件里加入cuda的两条路径,具体参考这个博客点击打开链接原创 2017-10-15 21:00:31 · 2225 阅读 · 0 评论