![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tensorflow
xinxiang7
毕业上海交通大学。主要从事深度学习的算法实现和研究。目前主要用的语言是python,框架为Tensorflow。做过斗地主AI,实现过一些有趣的项目。
展开
-
nvdia440.64+cuda10.0+cudnn7.4+tensorflow-gpu13.1安装
Linux安装nvidia440.64+cuda9.2+cudnn7.6nvidia440.64安装下载nvidia版本cuda9.2下载cuda9.2安装下载后,命令行中切换到下载的位置,利用上述命令安装cd /home/xxx/Downloads/sudo sh cuda_9.2.148_396.37_linux.run出现说明之后,按Ctrl + C键跳过,接受之后...原创 2020-04-10 11:17:30 · 597 阅读 · 0 评论 -
keras版本(.h5文件)转化为caffe版本(caffemodel和prototxt文件)的总结和思考
版本转化核心keras训练的模型转化为caffe模型的核心思想是拆分keras的每层,之后赋值给caffe版本对应层,这其中保证以下:每层的名称的唯一性;每层输入名称和输出名称上下连贯性;每层数据的格式符合caffe模型;keras版本加载import kerasfile = '../xxx.h5'keras_model = keras.models.load_model(file, custom_objects=backbone.custom_objects)keras模型每层的原创 2020-12-08 21:28:14 · 1369 阅读 · 8 评论 -
tensorflow模型文件
tensorflow输出的模型文件有3个:.data-00000-of-00001.index.meta.meta保存的网络的结构框架,所以保存不同阶段模型时,不同的.meta可以相互替换。.index和.data-00000-of-00001保存了网络结构中所有权重和偏置的数值。import tensorflow as tfNewCheck = tf.train.NewCheckpointReader('checkpoints/20200702-1506/model.ckpt-1000原创 2020-07-08 21:37:32 · 390 阅读 · 0 评论 -
tensorflow的多线程处理方式:tf.train.coordinator()和tf.train.start_queue_runners()
原网页:https://blog.csdn.net/dcrmg/article/details/79780331tensorflow在一个会话(session)中,利用协调器和队列管理器(start_queue_runners)来控制多线程的运行。Coordinator类用来管理在Session中的多个线程,可以用来同时停止多个工作线程并且向那个在等待所有工作线程终止的程序报告异常,该线程捕获到这个异常之后就会终止所有线程。使用 tf.train.Coordinator()来创建一个线程管理器(协调器)转载 2020-07-08 20:16:20 · 690 阅读 · 0 评论 -
ValueError: Variable generator/Conv/weights/Adam/ does not exist, or was not created with...
错误:多GPU设置时出现如下错误:ValueError: Variable E_conv0/w/Adam/ does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=None in VarScope?原因:代码中有tf.get_variable_scope().reuse_variables(),但却缺少上下文管理的APItf.varibale_scope().解决方法:在设置GPU的位原创 2020-06-04 14:17:49 · 863 阅读 · 0 评论 -
安装anaconda3和tensorflow-gpu1.13.1
下载anaconda下载指定版本。之后利用以下命令安装bash Anaconda3-2020.02-Linux-x86_64.sh之后利用ctr+c跳过阅读。一路yes。在初始化conda时选择了no。如何重新初始化?利用下述命令即可:. /home/jiangcm/anaconda3/etc/profile.d/conda.sh...原创 2020-04-10 09:51:39 · 1814 阅读 · 0 评论 -
TensorFlow之tf.multiply和tf.matmul
在TF中如何运行乘法,如果是逐元素相乘或者是矩阵的乘法,如何表达。tf.multiplyexample:import tensorflow as tfa = tf.get_variable("a", dtype=tf.float32, shape=(2, 3), initializer=tf.constant_initializer(2.))b = tf.get_variable("b...原创 2019-12-11 21:42:51 · 212 阅读 · 0 评论 -
神经网络中的两种正则化---Batch Normalization和Weight Normalization
Batch Normalization待续Weight Normalization理论:WN是将权重进行归一化,这个明显区别于BN对数据进行归一化的方式。BN将miniBatch的局部归一化作为全局归一化,进而引入噪声,而WN则没有这个问题,因此WN除了可以应用于CNN,还可以应用于RNN、生成网络和深度强化学习等对噪声敏感的学习中。一个神经网络节点:y=ϕ(wx+b)y =\phi(...原创 2019-12-06 14:51:37 · 1009 阅读 · 3 评论 -
tf.conv3d的用法
c3d在计算机视觉的视频领域经常使用。3d卷积是在2d的基础上添加了一维——深度,其他不变。所以在计算过程中,过滤器的输入通道数必须保证和输入样本的通道数一致,这一点与2d没有差别。卷积过程中,也就是对长度、宽度和深度进行卷积。具体可以看文章Learning Spatiotemporal Features with 3D Convolutional Networks以下是实现的方式:im...原创 2019-07-23 11:53:14 · 627 阅读 · 0 评论 -
ValueError: Dimensions must be equal, but are 1024 and 821
问题:原代码:rnn_cell = tf.nn.rnn_cell.BasicLSTMCell(num_units=512, state_is_tuple=True)# 添加dropout layer,一般只设置output_keep_prob# lstm_cell = tf.nn.rnn_cell.DropoutWrapper(cell=lstm_cell, input_keep_prob...原创 2019-07-30 21:27:46 · 2692 阅读 · 0 评论 -
tensorflow命令行参数---tf.app.flags
tensorflow命令行参数源码github上已经给出:https://github.com/abseil/abseil-py/blob/master/absl/flags/_defines.py#L319以下是写的demo:import tensorflow as tfflags = tf.app.flagsFLAGS = flags.FLAGS# Settin...原创 2019-06-24 10:48:32 · 214 阅读 · 0 评论 -
batch normalization原理和实践
Batch Normalization中有具体的算法,在求均值和方差时不易理解:对于图像来说,使用图像数据进行计算时,计算每个通道的均值。具体如下:import tensorflow as tf# 变量a_batch = tf.Variable([[[1,2,3],[4,5,6],[7,8,9],[4,7,2]],[[1,2,3],[4,5,6],[7,8,9],[4,7,2]...原创 2019-06-18 13:41:24 · 250 阅读 · 0 评论 -
tf.nn.moments()的使用
tf.nn.moments()是用于计算均值和方差。参数(x, axes, shift=None, name=None, keep_dim=False)x: 输入axes: 需要进行求均值/方差的维度,以列表的形式表示,如[0,1,2]表示求第0,1,2三个维度的均值/方差。shift: 当前情况下不使用name: 节点名称keep_dim: 是否与输入保持一致实例:...原创 2019-06-18 20:40:23 · 3616 阅读 · 0 评论 -
tf的初始化参数总结
来源:初始化参数1. tf.glorot_normal_initializer源码:class GlorotNormal(VarianceScaling): """The Glorot normal initializer, also called Xavier normal initializer. It draws samples from a truncated nor...原创 2019-05-29 18:21:52 · 1645 阅读 · 0 评论 -
模型训练时损失出现Nan,解决方案
1. 问题如下图所示:2. 损失为nan的原因1. 学习率过大,导致当然还有其他原因,目前可以参考警惕!损失Loss为Nan或者超级大的原因3. 解决方式降低学习率...原创 2019-06-24 10:50:11 · 5047 阅读 · 0 评论