
tensorflow
Cater Chen
寄希望于黎明
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
tensorflow中的循环问题
tensorflow中的循环问题placeholder时定义维度,才能进行循环。如果是None则无法循环。tensor可以按数组方式取值,不需要知道维度tensor可以生成元组,并且用enumerate方式提取。原创 2021-05-27 17:56:05 · 414 阅读 · 0 评论 -
关于卷积中的padding
关于卷积中的padding【TensorFlow】一文弄懂CNN中的padding参数转载 2021-05-27 15:42:01 · 337 阅读 · 0 评论 -
深度学习多进程加速
深度学习多进程加速tensorflow推理不能在进程或线程里跑,但前后预处理可以通过多进程加速。需要注意的时,进程开启会有上下文问题, 一个进程里的改变的值或变量,在另一个进程里没有,需要用队列传递消息。...原创 2021-04-25 17:01:05 · 401 阅读 · 0 评论 -
tf.py_func
经验干货:使用tf.py_func函数增加Tensorflow程序的灵活性https://blog.youkuaiyun.com/jiongnima/article/details/80555387转载 2021-04-15 09:41:17 · 139 阅读 · 0 评论 -
GELU 激活函数
GELU 激活函数https://blog.youkuaiyun.com/liruihongbob/article/details/86510622转载 2021-02-19 11:22:05 · 835 阅读 · 0 评论 -
dropout 关于keep_prob
dropout 关于keep_prob在rnn网络中,keep_prob有三种形式: input_keep_prob=1.0:输入keep概率,如果是常数且为1,则不增加输入退出。 output_keep_prob=1.0:输出keep概率;如果是常数和1,则不增加输出差值。 state_keep_prob=1.0:输出keep概率;如果是常数和1,则不增加输出差值。在tf.nn.dropout(input, keep_prob)中,见源码: try: keep原创 2021-02-18 19:34:00 · 4023 阅读 · 0 评论 -
使用tf.py_func函数增加Tensorflow程序的灵活性
使用tf.py_func函数增加Tensorflow程序的灵活性https://blog.youkuaiyun.com/jiongnima/article/details/80555387转载 2021-02-07 11:26:01 · 141 阅读 · 0 评论 -
tensorflow中使用L2正则化损失
tensorflow中使用L2正则化损失方法一:tf.nn.l2_lossself.l2_loss += tf.nn.l2_loss(weights)*0.5self.loss += self.l2_loss方法二:tf.get_variablel2_reg=tf.contrib.layers.l2_regularizer(weight_decay) tmp=tf.constant([0,1,2,3],dtype=tf.float32)a=tf.get_varia原创 2021-01-18 20:44:12 · 1547 阅读 · 1 评论 -
神经网络多数据集联合训练问题
神经网络多数据集联合训练问题问题描述:现有三个数据集dataset_1,dataset_2,dataset_3用于联合训练,但最后需要在dataset_3上进行测试(dataset_3为实际需求中的数据集),对一下两个方案进行实验:优先对dataset_1,dataset_2进行训练,然后在此权重基础上继续对dataset_3训练。联合dataset_1,dataset_2,dataset_3训练,并按比例分配三个数据集在每个batch size传入的张数,如batch size为64时,三个数原创 2020-09-18 10:56:46 · 7028 阅读 · 7 评论 -
TensorFlow ——slim.batch_norm大坑(参数设置以及保存问题)
TensorFlow ——slim.batch_norm参数设置问题slim.batch_norm运用方法。batch_norm_params = { 'is_training': is_training, 'scale': True, # 默认是没有gamma的 'decay': 0.995, 'epsilon': 0.001 }with slim.arg_scope([slim.c原创 2020-09-08 15:16:56 · 2922 阅读 · 0 评论 -
神经网络训练时如何选取batch size的大小
神经网络训练时如何选取batch size的大小做实验时batch size选取的128,设置每1000步模型保存一次。但发现训练到后面损失很难降低了。用batch size=32或64做实验,训练到后面,可以用较小的batch size,如32训练到后面,模型保存步数可以小一些。...原创 2020-09-07 10:24:56 · 5902 阅读 · 1 评论 -
Tensorflow ——分布式数据异步并行代码(单机多卡、多机多卡)
Tensorflow ——分布式数据异步并行代码(单机多卡、多机多卡)在分布式计算中创建Session需要用到MonitoredTrainingSession,区别于普通Session最主要的参数是is_chief。Session( target='', graph=None, config=None)MonitoredTrainingSession( master='', is_chief=True, checkpoint_dir=None, sca原创 2020-09-03 16:10:31 · 1042 阅读 · 0 评论 -
Tensorflow分布式框架 解决Graph is finalized and cannot be modified问题
Tensorflow分布式框架 解决Graph is finalized and cannot be modified问题如果使用MonitoredTrainingSession创建Session,不需要再初始化变量,错误示例:while not sess.should_stop(): sess.run(tf.global_variables_initializer())并且注意也不能在MonitoredTrainingSession之后进行任何初始化操作,包括数据初始化或变量初始化(应该放原创 2020-09-03 14:57:23 · 3207 阅读 · 0 评论 -
TensorFlow. ——tf.data.Dataset读取数据代码
TensorFlow. ——tf.data.Dataset读取数据代码下面是tf.data.Dataset读取通用数据的基础代码。import tensorflow as tfclass TfDataDataset(object): """tf.data.Dataset读取数据方法""" def __init__(self, im_size): self._im_size = im_size def train(self, data, batch_s原创 2020-09-02 11:44:05 · 578 阅读 · 0 评论 -
TensorFlow. ——tf.train.queue读取数据代码
TensorFlow. ——tf.train.queue读取数据代码下面是tf.train.queue读取数据的基础代码,可以按需求补充和修改。import tensorflow as tfclass TfTrainQueue(object): """tf.train.queue读取数据方法""" def __init__(self, im_size): self._im_size = im_size def train(self, data, ba原创 2020-09-02 11:37:11 · 230 阅读 · 0 评论 -
Meta Learning ——MAML代码
Meta Learning ——MAML原创 2020-09-02 11:16:09 · 1686 阅读 · 2 评论 -
TensorFlow读图片和Opencv不同
TensorFlow读图片和Opencv不同TensorFlow读取图片tf.gfileimage_raw = tf.gfile.FastGFile(path, 'rb').read() # bytesimg = tf.image.decode_jpeg(image_raw) # Tensor# 打印with tf.Session() as sess:print(img.eval())tf.read_fileimage_value = tf.read_file(path原创 2020-08-31 14:38:32 · 1457 阅读 · 1 评论 -
TensorFlow. ——数据读取方式
TensorFlow. ——数据读取方式tensortlfow数据读取有三种方式:placehold feed_dict:从内存中读取数据,占位符填充数据queue队列:从硬盘读取数据Dataset:同时支持内存和硬盘读取数据placehold feed_dict:这是一种常见的方法,在这里不多作讨论,但注意的是,在tensorflow里对数据进行预处理会提高效率。queue队列:如果我们的数据读取算法没有设计多线程的话(即单线程),由于读取数据和处理数据在同一个进程是有先后原创 2020-08-28 11:41:54 · 523 阅读 · 1 评论 -
Tensorflow ——并行计算
Tensorflow ——并行计算数据并行一个简单的加速训练的技术是并行地计算梯度,然后更新相应的参数。数据并行又可以根据其更新参数的方式分为同步数据并行和异步数据并行,同步的数据并行方式如图所示,tensorflow图有着很多的部分图模型计算副本,单一的客户端线程驱动整个训练图,来自不同的设备的数据需要进行同步更新。这种方式在实现时,主要的限制就是每一次更新都是同步的,其整体计算时间取决于性能最差的那个设备。数据并行还有异步的实现方式,如图所示,与同步方式不同的是,在处理来自不同设备的数据更新原创 2020-08-27 18:43:41 · 1448 阅读 · 0 评论 -
TensorFlow ——Warm Up学习策略
TensorFlow ——Warm Up学习策略-Learning rate decay 是深度学习训练过程中常用的手段之一。随训练的进展减小学习率可以定位到loss更深但是更窄的部分。 learning_rate = tf.train.exponential_decay(learning_rate, global_step, learning_decay_steps, learning_decay_rate, staircase=True)# learning_rate = 0.001# lea原创 2020-08-12 17:42:45 · 2335 阅读 · 0 评论 -
深度学习归一化 ——BN/FRN
深度学习归一化 ——BN/GN/FRN原创 2020-08-11 14:56:00 · 561 阅读 · 0 评论 -
TensorFlow ——save与restore
TensorFlow ——save与restoresave会保存模型优化器ckpt>model但model变量不能大于ckptmodel有,ckpt一定有原创 2020-08-10 11:31:57 · 349 阅读 · 0 评论 -
TFrecord生成方法 ——更快速的方法
TFrecord原创 2020-07-21 14:28:40 · 629 阅读 · 0 评论 -
TFrecord读取 ——数据过大问题
TFrecord读取 ——数据过大问题TFrecord读取基本代码def get_batch(self, input_file, batch_size, is_train=True): def _parse_function(example_proto): name_to_features = { "img": tf.io.FixedLenFeature([], tf.string), "float_label原创 2020-07-21 15:33:43 · 1510 阅读 · 0 评论 -
命令行参数 ——tf.app.flags和python argparse
命令行参数 ——tf.app.flags和python argparse深度学习神经网络往往有过多的Hyperparameter需要调优,优化算法、学习率、卷积核尺寸等很多参数都需要不断调整,使用命令行参数是非常方便的。有两种实现方式,一是利用python的argparse包,二是调用tensorflow自带的app.flags实现。tf.app.flagsimport tensorflow as tfflags = tf.app.flagsflags.DEFINE_string(原创 2020-08-10 11:12:36 · 387 阅读 · 0 评论 -
深度学习 ——回归预测Tips
深度学习 ——回归预测Tips预测增减偏移量比直接预测数值更容易,预测比值比直接预测数值更容易。从起始处预测,使用sigmoid(0,1)/relu(0,1),sigmoid函数更倾向于预测0。从中间处预测,使用tanh(-1,1)...原创 2020-08-10 10:36:37 · 2630 阅读 · 0 评论 -
Tensorflow ——tf.slice和tf.gather
Tensorflow ——tf.slice和tf.gathertf.gather 和 tf.slice都可以根据索引寻找相应维度的子集。tf.slice(input,begin,size,name=None) 按照指定的下标范围抽取连续区域的子集,每个维度一一对应。tf.gather(input,begin,size.name=None) 按照指定的下标集合从 axis=0 中抽取子集,适合抽取不连续区域的子集。...原创 2020-07-30 11:15:15 · 270 阅读 · 0 评论