tensorflow
DRACO于
这个作者很懒,什么都没留下…
展开
-
tensorflow函数小结
tf.initializers.identity函数定义在:tensorflow/python/ops/init_ops.py生成单位矩阵的初始化程序.仅用于2D矩阵.在使用十字绣网络时用到这个函数。tf.reduce_max函数计算张量的各个维度上的元素的最大值import tensorflow as tfmax_value = tf.reduce_max([1,...原创 2019-02-16 16:14:29 · 484 阅读 · 0 评论 -
slim.batch_norm无法更新以及保存参数
1、更新参数当我们使用batch_norm时,slim.batch_norm中的moving_mean和moving_variance是无法更新的,当is_training = True时,意味着创建Update ops,利用当前batch的均值和方差去更新moving averages(即某层累计的平均均值和方差)。这里提供两种方式创建update_ops, 一是自己显式的创建upd...原创 2019-01-22 11:14:51 · 1937 阅读 · 0 评论 -
Tensorflow: 从checkpoint文件中读取tensor name和值
有时候使用ckpt时需要查看内部tensor name和值时,需要打印输出,ckpt文件的话放到checkpoint,如果三个文件,只添加文件名,类型忽略。import osfrom tensorflow.python import pywrap_tensorflowcheckpoint_path = os.path.join(model_dir, "print——model.ckpt...原创 2019-01-19 17:48:32 · 3402 阅读 · 0 评论 -
GAN学习
https://www.cnblogs.com/chenyusheng0803/p/8975238.html原创 2019-01-23 20:42:52 · 164 阅读 · 0 评论 -
tensorflow多任务学习总结
提起多任务学习,相信大家肯定已经都接触过faster rcnn,检测和分类的多任务学习,接下来说一下使用tensorflow做一下简单的多任务学习。1、单任务网络框架# Import Tensorflow and Numpyimport Tensorflow as tfimport numpy as np# ======================# Define th...原创 2019-01-18 14:52:37 · 1176 阅读 · 0 评论 -
tensorflow: 保存和加载模型, 参数;以及使用预训练参数方法
1. 保存与加载模型参数import tensorflow as tftensorflow的保存和加载是通过tf.train.Saver类实现的, 她的构造函数是def __init__(self, var_list=None, reshape=False, sharded=False, ...原创 2019-01-17 16:08:57 · 2008 阅读 · 0 评论 -
tensorflow 通过feed_dict给静态图做条件语句。AutoGraph
在不使用Eager Execution的情况下,编写TensorFlow代码需要进行一些元编程——先编写一个创建计算图的程序,然后稍后执行该程序。这就比较麻烦了,尤其是对新手来说。一些特别棘手的情况涉及更复杂的模型,例如使用if和while,或者是有副作用的模型print(),或接受结构化输入。参考代码:有问题主要参考这个,这个部分使用AutoGraph实现的,也是我想要的https:...原创 2019-01-17 15:33:21 · 416 阅读 · 0 评论 -
tensorflow设置GPU
一、设置GPU使用1.一劳永逸的方法,直接在~/.bashrc中设置环境变量CUDA_VISIBLE_DEVICES (1)vim ~/.bashrc (2)在.bashrc.最下方添加export CUDA_VISIBLE_DEVICES='XX'(这个xx是GPU的序号,比如我这边服务器上有8个GTX1080序号是0~7,可以填入任意多个序号,序号间用逗号隔...原创 2019-01-17 15:24:02 · 6129 阅读 · 2 评论 -
tensorflow BN小结
最近遇到了BN的相关问题,好好学习了下,在此总结下:1.原理公式如下:y=γ(x-μ)/σ+β其中x是输入,y是输出,μ是均值,σ是方差,γ和β是缩放(scale)、偏移(offset)系数。一般来讲,这些参数都是基于channel来做的,比如输入x是一个16*32*32*128(NWHC格式)的feature map,那么上述参数都是128维的向量。其中γ和β是可有可无的,有...转载 2019-02-22 11:45:25 · 1032 阅读 · 0 评论 -
命令行运行Python脚本时传入参数的三种方式
三种常用的方式如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式。 python script.py 0,1,2 10python script.py -gpus=0,1,2 --batch-size=10python script.py -gpus=0,1,2 --batch_size=10 这三种格式对应不同的参数解...转载 2019-02-23 11:26:43 · 280 阅读 · 0 评论 -
目标检测之感受野-dilated conv -----TridentNet
论文:Scale-Aware Trident Networks for Object DetectionGithub:https://github.com/TuSimple/simpledet/tree/master/models/tridentnet图森的工作论文提出了TridentNet ,基于ResNet-101 的基础骨架网络在coco数据集上达到了单模型48.4的准确性...转载 2019-05-11 11:13:22 · 1839 阅读 · 0 评论 -
senet小结
论文:《Squeeze-and-Excitation Networks》论文链接:https://arxiv.org/abs/1709.01507代码地址:https://github.com/hujie-frank/SENet最近在做行人检索时,优化时用到channel attention机制,虽然对最终结果没有提升,这里做一个简单的总结1. 概述 此论文是由Momenta...原创 2019-05-10 11:30:46 · 1200 阅读 · 0 评论 -
BN在不同框架下对比介绍
1、caffeBN层主要有均值, 方差,γγ,ββ四个参数,其中γγ,ββ是要学习的参数一个代表的是缩放系数,也就是将分布变胖或者变瘦,一个是偏移系数,将分布左右移动。进行BN操作的主要目的是,将数据的分布归一化到非线性函数敏感的区域也即线性区,避免进入饱和区,因为一旦进入饱和区,就会造成梯度消失,γγ,ββ适当的将分布进行了变胖变瘦或者移动的这样的一个操作。其中BN的均值,方差,beta...原创 2019-04-22 20:38:27 · 933 阅读 · 0 评论 -
使用tensorflow的模型文件,修改参数名称和数值,合并两个模型等
在修改保存的参数名称时,做法分为以下6步:使用list_variables函数逐个读出已保存的参数名称使用load_variable函数逐个读取已保存的参数值逐个修改参数名称使用已修改的参数名称,结合tf.Variable函数逐个重建参数将已重建的参数逐个加入新参数列表使用tf.train.Saver().save将新参数列表写入硬盘import tensorflow as t...转载 2019-03-05 11:05:40 · 4824 阅读 · 1 评论 -
如何利用深度学习模型实现多任务学习?这里有三点经验
文章转载自机器之心,有做多任务学习相关的同学可以加群709165514讨论学习下, Taboola 算法开发者 Zohar Komarovsky 介绍了他们在利用深度学习模型实现多任务学习(MTL)时遇到的几个典型问题及解决方案。在过去的一年里,我和我的团队一直致力于为 Taboola feed 提供个性化用户体验。我们运用多任务学习(Multi-Task Learni...转载 2019-02-25 11:38:52 · 2908 阅读 · 4 评论 -
tensorflow使用多个gpu训练
关于多gpu训练,tf并没有给太多的学习资料,比较官方的只有:tensorflow-models/tutorials/image/cifar10/cifar10_multi_gpu_train.py但代码比较简单,只是针对cifar做了数据并行的多gpu训练,利用到的layer、activation类型不多,针对更复杂网络的情况,并没有给出指导。自己摸了不少坑之后,算是基本走通了,在此记录下...原创 2019-02-13 21:41:15 · 753 阅读 · 0 评论 -
slim.conv2d
slim.conv2d 自带卷积和激励函数slim.conv2d 带batch_norm的方式:slim.max_pool2dslim.arg_scope():用于设置一些变量,上面两句等于下面的:slim.conv2d的两种操作方式:卷积核设置 ...原创 2019-02-13 15:15:18 · 9440 阅读 · 2 评论 -
tensorflow loss
tf.losses.get_total_loss函数tf.losses.get_total_loss( add_regularization_losses=True, name='total_loss')定义在:tensorflow/python/ops/losses/util.py。返回一个张量,其值代表总loss。特别的是,这增加了您使用t...原创 2019-01-17 15:03:35 · 555 阅读 · 0 评论 -
tensorflow 恢复部分参数、加载指定参数
多分类采用与训练模型输出不匹配,我们需要加载部分预训练模型的参数。我们先看一下如何保存和读入预训练模型。#一般实验情况下保存的时候,都是用的saver类来保存,如下saver = tf.train.Saver()saver.save(sess,"model.ckpt")#加载时的代码saver.restore(sess,"model.ckpt")#前面的描述相当于是保存了所...原创 2019-01-07 10:03:57 · 9584 阅读 · 3 评论 -
tf.estimator.Estimator
class Estimator(builtins.object)#介绍Estimator 类,用来训练和验证 TensorFlow 模型。Estimator 对象包含了一个模型 model_fn,这个模型给定输入和参数,会返回训练、验证或者预测等所需要的操作节点。所有的输出(检查点、事件文件等)会写入到 model_dir,或者其子文件夹中。如果 model_dir 为空,则默认为临时目录...原创 2018-12-28 17:32:40 · 784 阅读 · 0 评论 -
Tensorflow实现学习率衰减
Tensorflow实现学习率衰减觉得有用的话,欢迎一起讨论相互学习~Follow Me参考文献Deeplearning AI Andrew NgTensorflow1.2 API学习率衰减(learning rate decay)加快学习算法的一个办法就是随时间慢慢减少学习率,我们将之称为学习率衰减(learning rate decay)概括假设你要使用mini-ba...转载 2018-12-22 16:43:37 · 755 阅读 · 0 评论 -
tensorflow正则化添加方法整理
一、基础正则化函数tf.contrib.layers.l1_regularizer(scale, scope=None)返回一个用来执行L1正则化的函数,函数的签名是func(weights). 参数:scale: 正则项的系数. scope: 可选的scope nametf.contrib.layers.l2_regularizer(scale, scope=None)...原创 2018-12-22 16:28:36 · 2885 阅读 · 0 评论 -
『TensorFlow』slim模块常用API
辅助函数slim.arg_scope()slim.arg_scope可以定义一些函数的默认参数值,在scope内,我们重复用到这些函数时可以不用把所有参数都写一遍,注意它没有tf.variable_scope()划分图结构的功能,? 1 2 3 4 5 6 7 8 9 10 11...原创 2018-12-22 16:27:17 · 783 阅读 · 0 评论 -
TypeError: Can not convert a float32 into a Tensor or Operation.
错误TypeError: Can not convert a float32 into a Tensor or Operation.# 类型错误:不能将一个浮动32转换为一个张量或操作。TypeError: Fetch argument 2.3025854 has invalid type <class 'numpy.float32'>, must be a stri...原创 2018-12-22 15:19:21 · 461 阅读 · 0 评论 -
Tensorflow:tf.app.run()与命令行参数解析
首先给出一段常见的代码:if __name__ == '__main__': tf.app.run()12它是函数入口,通过处理flag解析,然后执行main函数(或者接下来提到的xxx())(最后含有tf.app.run()的文件,在此行之前肯定能找到def main(_)或者在tf.app.run(xxx())之前找到def xxx().)用主函数和命令行参数列表来运...原创 2018-12-27 22:01:58 · 940 阅读 · 0 评论 -
tensorflow问题
1、为什么模型文件是三个(.data-00000-of-00001和.index和.meta)而没有.ckpt后缀的文件因为1.0以后的版本,saver会保存成三个后缀的形式,而旧版本的saver才是保存成.ckpt的形式可以把saver = tf.train.Saver()改成saver = tf.train.Saver(write_version=tf.train.SaverDef.V1...原创 2018-12-27 21:44:58 · 261 阅读 · 0 评论 -
tensorflow加载部分层方法
自动保存为三个文件:模型文件列表checkpoint,计算图结构model.ckpt.meta,每个变量的取值model.ckptcheckpoint文件保存了一个目录下所有的模型文件列表,这个文件是tf.train.Saver类自动生成且自动维护的。在 checkpoint文件中维护了由一个tf.train.Saver类持久化的所有TensorFlow模型文件的文件名。当某个保存的Ten...原创 2018-12-27 21:33:04 · 1577 阅读 · 0 评论 -
Tensorflow-slim
TF-Slim的优势:slim作为一种轻量级的tensorflow库,使得模型的构建,训练,测试都变得更加简单。1. 使用方法: import tensorflow.contrib.slim as slim2. 组成部分: arg_scope: 使得用户可以在同一个arg_scope中使用默认的参数 data,evaluation,layers,learnin...原创 2018-12-21 21:40:16 · 223 阅读 · 0 评论 -
参数意义及设置
batchsize:每迭代一次,网络训练图片的数量,例如:如果你的batchsize=256,则你的网络每迭代一次,训练256张图片;则,如果你的总图片张数为1280000张,则要想将你所有的图片通过网络训练一次,则需要1280000/256=5000次迭代。epoch:表示将所有图片在你的网络中训练一次所需要的迭代次数,如上面的例子:5000次;我们称之为 一代。所以如果你想要你的网络训练...原创 2018-12-28 17:33:53 · 1316 阅读 · 0 评论 -
Tensorflow设置显存自适应,显存比例
1 终端执行程序时设置使用的GPU如果电脑有多个GPU,tensorflow默认全部使用。如果想只使用部分GPU,可以设置CUDA_VISIBLE_DEVICES。在调用python程序时,可以使用(见第一个参考网址Franck Dernoncourt的回复):CUDA_VISIBLE_DEVICES=1 python my_script.py Environment V...原创 2018-12-18 16:05:29 · 1734 阅读 · 3 评论 -
tensorflow踩坑
tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index 1 of dimension 0 out o导入模型时参数不匹配导致这个问题,检查预训练模型是否和你的模型参数匹配。tensorflow.python.framework.errors_impl.InvalidArgumentError: Re...原创 2019-01-06 14:50:45 · 1141 阅读 · 0 评论 -
tensorflow estimator 使用hook实现finetune
model_fn里面定义好模型之后直接赋值 使用钩子 hooks为了实现finetune有如下两种解决方案:model_fn里面定义好模型之后直接赋值 def model_fn(features, labels, mode, params): # ..... # finetune if params.checkpoint_path and (not tf.tr...转载 2019-01-06 14:49:12 · 4206 阅读 · 1 评论 -
scipy.spatial.distance.cdist
https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.spatial.distance.cdist.htmlscipy.spatial.distance.cdist(XA, XB, metric='euclidean', p=None, V=None, VI=None, w=None)Computes dista...转载 2019-01-10 17:30:32 · 1675 阅读 · 2 评论 -
tensorflow冻结部分层,只训练某一层
其实常说的fine tune就是冻结网络前面的层,然后训练最后一层。那么在tensorflow里如何实现finetune功能呢?或者说是如何实现冻结部分层,只训练某几个层呢?可以通过只选择优化特定层的参数来实现该功能。示例代码如下:#定义优化算子optimizer = tf.train.AdamOptimizer(1e-3)#选择待优化的参数output_vars = tf.g...原创 2019-01-10 14:27:18 · 7057 阅读 · 0 评论 -
tensorflow.python.framework.errors_impl.iternalError:failed to create session
tensorflow.python.framework.errors_impl.iternalError:failed to create session首先说一下我出现的情况,使用gpu运行跑模型的时候。出现标题的情况。然后查看显卡(命令:nvidia-smi)中进程的使用情况的时候,出现多个python进程正在运行,显卡基本占满,所以导致无法failed to create session...原创 2019-01-04 13:35:50 · 1172 阅读 · 0 评论 -
Tensorflow API ------tf.layers.conv2d
conv2d(inputs, filters, kernel_size, strides=(1, 1), padding='valid', data_format='channels_last', dilation_rate=(1, 1), activation=None, use_bias=True, kernel_initializer=None, bias_in...原创 2018-12-29 15:46:05 · 184 阅读 · 0 评论 -
tf.estimator库
说到tf.estimator库,我们就不得不说tensorflow最原始的使用方法了:一般情况下对于一组数据,包含很多的特征值(连续的数据,和非连续的类型)传统的tensorfow实现方法则是,把数据取出来之后自己进行特征的处理和加工;然后用我们定义的模型通过tf.placeholder这个变量把把我们处理后的数据喂养给我们的模型;这样是不是感觉很麻烦?那么有没有简化的方法呢,没错,tensorf...原创 2019-01-03 16:54:20 · 230 阅读 · 0 评论 -
Tensorflow中的数据对象Dataset
基础概念在tensorflow的官方文档是这样介绍Dataset数据对象的:Dataset可以用来表示输入管道元素集合(张量的嵌套结构)和“逻辑计划“对这些元素的转换操作。在Dataset中元素可以是向量,元组或字典等形式。另外,Dataset需要配合另外一个类Iterator进行使用,Iterator对象是一个迭代器,可以对Dataset中的元素进行迭代提取。看个简单的示例:...原创 2018-12-29 14:03:42 · 1347 阅读 · 0 评论 -
从多个tfrecord文件中读取数据的方法
tfrecord_file_path = '/train/*.tfrecords’#train是存放tfrecord的文件夹filename_queue = tf.train.string_input_producer( tf.train.match_filenames_once(tfrecord_file_path), ...原创 2019-01-03 16:40:50 · 3695 阅读 · 2 评论 -
slim.arg_scope()的使用
slim.arg_scope() 函数的使用 slim是一种轻量级的tensorflow库,可以使模型的构建,训练,测试都变得更加简单。在slim库中对很多常用的函数进行了定义,slim.arg_scope()是slim库中经常用到的函数之一。函数的定义如下;@tf_contextlib.contextmanagerdef arg_scope(list_ops_or_s...原创 2018-12-21 13:10:38 · 674 阅读 · 0 评论