随笔分类 -  Tensorflow

摘要:Batch_size参数的作用:决定了下降的方向 极端一: batch_size为全数据集(Full Batch Learning): 好处: 1.由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。 2.由于不同权重的梯度值差别巨大,因此选择一个全局的学习率很困难。Full 阅读全文
posted @ 2018-12-28 11:42 今夜无风 阅读(7680) 评论(0) 推荐(1) 编辑
摘要:1.CNN网络中的池化方式选择 池化方式有两种:1)最大池化;2)平均池化 在实验中我发现,最大池化要比平均池化慢很多,效果也不如平均池化好。所以,池化的方式我们尽量选择平均池化。 2.CNN卷积核的设计 卷积的大小,遵守奇数设计原则,如【1,3,5,7】 3.CNN和RNN网络输出到全连接层数据s 阅读全文
posted @ 2018-12-28 09:52 今夜无风 阅读(2055) 评论(0) 推荐(0) 编辑
摘要:有时我们的样本标签,都是标记从0开始直至到类别的个数。在模型训练的时候,这些标签需要变成one_hot向量,这样才能够跟softmax出来的概率做互熵损失,计算loss。 那么,映射的方法如下: y: 类型是list,样本的类别标签序列 n_class: 类别的个数 输出: 阅读全文
posted @ 2018-12-27 09:06 今夜无风 阅读(4100) 评论(0) 推荐(0) 编辑
摘要:(1)语料库中56万条数据,分为14个类别 (2)现在训练模型,采样率设定为0.01,即5600条样本 (3)观察用于模型训练数据的分布 展示: 思考:模型训练的数据不是越多越好吗?何况使用深度学习模型,那作者为什么不不同56万条,而是用5600条训练模型。如果可以达到效果,那么说,对于小容量的数据 阅读全文
posted @ 2018-12-25 14:32 今夜无风 阅读(534) 评论(0) 推荐(0) 编辑
摘要:在进行模型训练前,我们要将数据打乱,以获得更好的训练效果。可以使用sklearn.utils中的shuffle,获得打乱后的数据索引,最后,迭代生成打乱后的batch数据,一个写好的模块如下。 思路是:1.先shuffle 2.再迭代生成 阅读全文
posted @ 2018-12-24 09:44 今夜无风 阅读(1947) 评论(0) 推荐(0) 编辑
摘要:tf.abs() 求tensor中数据的绝对值 tf.sign() 每一个数据都执行sigmod函数,得到对应的数值 tf.reduce_sum() 对不同维度数据求和。注意:1:求和每一行 0:求和每一列 tf.cast() 数值转换 演示: 输出: 阅读全文
posted @ 2018-12-21 15:22 今夜无风 阅读(402) 评论(0) 推荐(0) 编辑
摘要:官网API是这么说的 This operation outputs a Tensor that holds the new value of 'ref' after the value has been assigned. This makes it easier to chain operatio 阅读全文
posted @ 2018-12-21 10:52 今夜无风 阅读(209) 评论(0) 推荐(0) 编辑
摘要:当我们训练的词向量保存为txt时候,如果不是直接读取到内存,找对应词的向量,这样会非常耗时 方法1.用gensim读取成model的形式,从内存中获得数据 方法2.读取txt文件,用enumerate()将数据放到字典里面,后期查找的时候用这个字典,主要代码如下: 阅读全文
posted @ 2018-12-20 17:28 今夜无风 阅读(591) 评论(0) 推荐(0) 编辑
摘要:eval()返回的数值标量 read_eval()返回的是这个变量的tensor,类型是read 直接上代码: 输出: 阅读全文
posted @ 2018-12-20 16:34 今夜无风 阅读(399) 评论(0) 推荐(0) 编辑
摘要:一、深度学习模型 1.CNN 2.LSTM 3.Attention 二、与传统机器学习模型的比较 1.SVM 2.LR 3.GBDT 4.XGBoost 5.RandomForest 6.LightGBM 三、文本特征选择 1.一般短文本的长度在200字符左右,需要更加精巧的模型来判别 2.对于网络 阅读全文
posted @ 2018-12-20 16:07 今夜无风 阅读(958) 评论(0) 推荐(0) 编辑
摘要:当我们训练自己的神经网络的时候,无一例外的就是都会加上一句 sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数。那么,它到底做了些什么? global_variables_initializer 返回一个用来初始化 计算图 阅读全文
posted @ 2018-12-20 15:51 今夜无风 阅读(2400) 评论(0) 推荐(0) 编辑
摘要:当你需要按照矩阵维度复制数据时候,可以使用tensorflow的tile函数 阅读全文
posted @ 2018-12-17 17:18 今夜无风 阅读(1683) 评论(0) 推荐(0) 编辑
摘要:查看机器上GPU情况 命令: nvidia-smi 功能:显示机器上gpu的情况 命令: nvidia-smi -l 功能:定时更新显示机器上gpu的情况 命令:watch -n 3 nvidia-smi 功能:设定刷新时间(秒)显示GPU使用情况 在终端执行程序时指定GPU CUDA_VISIBL 阅读全文
posted @ 2018-12-16 16:28 今夜无风 阅读(1802) 评论(0) 推荐(0) 编辑
摘要:前一段时间做了一些项目,把一些笔记放在了txt中,现分享出来,自己也能够时长预习。 阅读全文
posted @ 2018-09-08 14:54 今夜无风 阅读(3049) 评论(0) 推荐(0) 编辑
摘要:函数:tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 功能:这个函数的作用是计算 logits 经 softmax 函数激活之后的交叉熵 实例: 输出: [[ 0.2 0.1 0.89999998]][ 1.365 阅读全文
posted @ 2017-09-13 10:38 今夜无风 阅读(218) 评论(0) 推荐(0) 编辑
摘要:对于理论,简单的去看一下百度上的说明,这里直接上实例,帮助理解。 输出: [[ 0.2 0.1 0.89999998]][[ 0.25519383 0.23090893 0.51389724]] 阅读全文
posted @ 2017-09-13 10:31 今夜无风 阅读(454) 评论(0) 推荐(0) 编辑
摘要:函数:tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None) 说明:此函数是计算logits经过sigmod函数后的交叉熵值(即互熵损失),能帮助你更好的进行分类操作。对于一个不相互独立的离散分类任务,这个函数作用是去度 阅读全文
posted @ 2017-09-13 10:03 今夜无风 阅读(395) 评论(0) 推荐(0) 编辑
摘要:用于一个回归任务或者正则问题 输出: [[ 0.99520844 0.57105571 0.4224354 ] [ 0.77398151 0.40279421 0.6592328 ]]1.34544 阅读全文
posted @ 2017-09-13 09:38 今夜无风 阅读(182) 评论(0) 推荐(0) 编辑
摘要:池化操作是利用一个矩阵窗口在输入张量上进行扫描,并且每个窗口中的值通过取最大、取平均或其它的一些操作来减少元素个数。池化窗口由ksize来指定,根据strides的长度来决定移动步长。如果strides都是1,每个矩阵窗口都将被使用,如果strides的值都是2,那么每一维度上的窗口每隔1个被使用。 阅读全文
posted @ 2017-09-12 14:29 今夜无风 阅读(819) 评论(0) 推荐(0) 编辑
摘要:卷积操作是使用一个二维卷积核在在批处理的图片中进行扫描,具体的操作是在每一张图片上采用合适的窗口大小在图片的每一个通道上进行扫描。 权衡因素:在不同的通道和不同的卷积核之间进行权衡 在tensorflow中的函数为例: conv2d: 任意的卷积核,能同时在不同的通道上面进行卷积操作。 卷积核的卷积 阅读全文
posted @ 2017-09-12 11:45 今夜无风 阅读(6122) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示