随笔分类 - tensorflow
深度学习平台tensorflow
tensorflow模型持久化保存和加载
摘要:模型文件的保存tensorflow将模型保持到本地会生成4个文件:meta文件:保存了网络的图结构,包含变量、op、集合等信息ckpt文件: 二进制文件,保存了网络中所有权重、偏置等变量数值,分为两个文件,一个是.data-00000-of-00001 文件,一个是 ...
阅读全文
tensorflow读取训练数据方法
摘要:1. 预加载数据 Preloaded data# coding: utf-8import tensorflow as tf# 设计Graphx1 = tf.constant([2, 3, 4])x2 = tf.constant([4, 0, 1])y = tf.add...
阅读全文
tensorflow中的参数初始化方法
摘要:1. 初始化为常量tf中使用tf.constant_initializer(value)类生成一个初始值为常量value的tensor对象。constant_initializer类的构造函数定义:def __init__(self, value=0, dtype=d...
阅读全文
tensorflow中屏蔽输出的log信息方法
摘要:tensorflow中可以通过配置环境变量 'TF_CPP_MIN_LOG_LEVEL' 的值,控制tensorflow是否屏蔽通知信息、警告、报错等输出信息。使用方法:import osimport tensorflow as tfos.environ['TF_CP...
阅读全文
pycharm中tensorflow代码不能自动补全或import红线问题解决
摘要:正确安装并配置好pycharm+tensorflow环境之后,可能在pycharm中导入tensorflow会有以下问题:1. " import tensorflow as tf " 会有红线提示找不到tensorflow,但是运行的话可以正常运行2. tensorf...
阅读全文
tensorflow中常用学习率更新策略
摘要:神经网络训练过程中,根据每batch训练数据前向传播的结果,计算损失函数,再由损失函数根据梯度下降法更新每一个网络参数,在参数更新过程中使用到一个学习率(learning rate),用来定义每次参数更新的幅度。过小的学习率会降低网络优化的速度,增加训练时间,过大的学...
阅读全文
交叉熵损失函数和均方误差损失函数
摘要:交叉熵 分类问题中,预测结果是(或可以转化成)输入样本属于n个不同分类的对应概率。比如对于一个4分类问题,期望输出应该为 g0=[0,1,0,0] ,实际输出为 g1=[0.2,0.4,0.4,0] ,计算g1与g0之间的差异所使用的方法,就是损失函数,分类问题中常用...
阅读全文
tensorflow中 tf.add_to_collection、 tf.get_collection 和 tf.add_n函数
摘要:tf.add_to_collection(name, value) 用来把一个value放入名称是‘name’的集合,组成一个列表;tf.get_collection(key, scope=None) 用来获取一个名称是‘key’的集合中的所有元素,返回的是一个列表...
阅读全文
tensorflow中summary操作
摘要:tf中 tensorboard 工具通过读取在网络训练过程中保存到本地的日志文件实现数据可视化,日志数据保存主要用到 tf.summary 中的方法。 tf.summary中summary是tf中的一个py文件,位置在 '/tensorflow/python/summ...
阅读全文
tensorflow中 tf.reduce_mean函数
摘要:tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。reduce_mean(input_tensor, axis=None, ...
阅读全文
tensorflow中共享变量 tf.get_variable 和命名空间 tf.variable_scope
摘要:tensorflow中有很多需要变量共享的场合,比如在多个GPU上训练网络时网络参数和训练数据就需要共享。tf通过 tf.get_variable() 可以建立或者获取一个共享的变量。 tf.get_variable函数的作用从tf的注释里就可以看出来-- ‘Gets...
阅读全文
tensorflow中协调器 tf.train.Coordinator 和入队线程启动器 tf.train.start_queue_runners
摘要:TensorFlow的Session对象是支持多线程的,可以在同一个会话(Session)中创建多个线程,并行执行。在Session中的所有线程都必须能被同步终止,异常必须能被正确捕获并报告,会话终止的时候, 队列必须能被正确地关闭。TensorFlow提供了两个类来...
阅读全文
tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数
摘要:tensorflow数据读取机制tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算。具体来说就是使用一个线程源源不断的将硬盘中的图片数据读入到一个内存队列中,另一个线程负责计算任务,所需数据直接从内存队列中...
阅读全文
tensorflow中tensor的静态维度和动态维度
摘要:tf中使用张量(tensor)这种数据结构来表示所有的数据,可以把张量看成是一个具有n个维度的数组或列表,张量会在各个节点之间流动,参与计算。张量具有静态维度和动态维度。在图构建过程中定义的张量拥有的维度是静态维度,这个维度可以被定义为不确定的,例如定义一个tenso...
阅读全文
tf.device()指定tensorflow运行的GPU或CPU设备
摘要:在tensorflow中,我们可以使用 tf.device() 指定模型运行的具体设备,可以指定运行在GPU还是CUP上,以及哪块GPU上。设置使用GPU使用 tf.device('/gpu:1') 指定Session在第二块GPU上运行:import tensorf...
阅读全文
tf.cast()数据类型转换
摘要:tf.cast()函数的作用是执行 tensorflow 中张量数据类型转换,比如读入的图片如果是int8类型的,一般在要在训练前把图像的数据格式转换为float32。cast定义:cast(x, dtype, name=None)第一个参数 x: 待转换的数据(...
阅读全文
Tensorflow 模型文件结构、模型中Tensor查看
摘要:tensorflow训练后保存的模型主要包含两部分,一是网络结构的定义(网络图),二是网络结构里的参数值。1. .meta文件.meta 文件以 “protocol buffer”格式保存了整个模型的结构图,模型上定义的操作等信息。这个文件保存了网络结构的定义。例如...
阅读全文
tensorflow命令行参数:tf.app.flags.DEFINE_string、tf.app.flags.DEFINE_integer、tf.app.flags.DEFINE_boolean
摘要:tf 中定义了 tf.app.flags.FLAGS ,用于接受从终端传入的命令行参数,相当于对Python中的命令行参数模块optpars(参考: python中处理命令行参数的模块optpars )做了一层封装。optpars中的参数类型是通过参数 “type=x...
阅读全文
ubuntu安装 tensorflow GPU
摘要:安装支持GPU的tensorflow前提是正确安装好了 CUDA 和 cuDNN。 CUDA 和 cuDNN的安装见 Nvidia 官网和各种安装教程,应该很容易,重点是要选准了支持自己GPU的 CUDA 版本,再选准支持 该 CUDA 版本的 cuDNN版本。关于C...
阅读全文
解决TensorFlow最新代码编译错误问题
摘要:老是有个习惯,看到开源代码更新了,总是想更新到最新版,如果置之不理的话,就感觉自己懒惰了或有的不负责任了,这个也可能是一种形式的强迫症吧;前几天晚上git pull TensorFlow,完事后也没去理它,这两天想起来还是做事有头有尾吧, 也想把学习重点转入到Tens...
阅读全文
浙公网安备 33010602011771号