Tensorflow
文章平均质量分 50
Tensorflow
WGS.
道阻且长,与君共勉:你若对得起时间,时间便会对得起你。
展开
-
keras---dropout在输入层和隐藏层中的使用
在Keras的每个权重更新的周期中,按照给定概率(如20%),随机选择要丢弃的节点,来实现dropout。dropout只能在模型的训练阶段使用,不能在评估的时候用。输入层使用dropout以下代码在输入层后添加了一个新的dropout层,随机失活率设置为20%。from sklearn import datasetsimport numpy as npfrom keras.models import Sequentialfrom keras.layers import Dropoutfrom原创 2021-06-21 21:50:41 · 2957 阅读 · 0 评论 -
keras---json序列化模型
在Keras中,对模型进行序列化时,会将模型结果和模型权重保存在不同的文件中,模型权重通常保存在HDF5中,模型的结构可以保存在JSON或YAML中,为了使用HDF5来保存模型权重,需要先安装:pip install h5py涉及方法:to_json:将模型保存成json文件save_weights:保存模型的权重值model_from_json:加载模型load_weights:加载模型权重以下以莺尾花数据集为例,直接上代码:from sklearn import datasets原创 2021-06-19 09:00:25 · 413 阅读 · 0 评论 -
Keras---学习率衰减
文章目录`learning rate` 线性衰减`learning rate` 指数衰减`learning rate` 衰减使用技巧选择合适的学习率能够提高随机梯度下降算法的性能,并减少训练时间。为了能够使梯度下降有更好的性能,需要把学习率的值设定在合适的范围内。学习率决定了参数移动到最优值时的速度。如果learning rate过大,可能会越过最优值;过小会导致下降的过慢,长时间无法收敛。学习率衰减的基本思想是:学习率随着训练的进行逐渐衰减。在训练开始时,使用较大的learning rate,可以加快原创 2021-06-28 22:14:27 · 2855 阅读 · 1 评论 -
Keras---YAML序列化模型
YAML是“另一种标记语言”的缩写,但是为了强调这种语言以数据为中心,而不是以标签为重点,因此用YAML来命名。to_yaml:模型保存成YAML文件save_weights:保存模型的权重值model_from_yaml:加载模型load_weights:加载权重from sklearn import datasetsimport numpy as npfrom keras.models import Sequentialfrom keras.layers import Densef原创 2021-06-19 09:10:31 · 416 阅读 · 1 评论 -
Keras---检查点跟踪NN模型
应用程序检查点(checkpoint)是长时间运行进程的容错技术,是在系统故障的情况下,对系统状态快照保存的一种方法。如果产生问题,不是丢失全部数据,而是可以在检查点检查全部结果,或者从检查点开始新的运行。在Keras中,回调API提供检查点的功能,ModelCheckpoint可以定义模型权重值检查点的位置、文件的名称,以及在什么情况下创建模型的检查点。API还可以指定要监视的指标,例如训练集或评估数据集的丢失或准确性,也可以指定是否寻求最大化或最小化分数的改进,用于存储权重的文件名包括诸如epochs原创 2021-06-19 09:27:35 · 257 阅读 · 0 评论 -
keras---训练过程的可视化
在训练深度模型的时候,Keras提供了对训练历史的默认回调方法。在深度学习的训练过程中,默认回调方法之一是history回调,它记录每个epoch的训练指标,包括损失和准确度。训练过程的信息可以从fit的返回值获取,可以都存起来,来画图,可以很方便的看到模型的训练情况:模型在epoch的收敛速度(斜率)模型是否已经收敛(该线是否平滑收敛)模型是否过拟合(验证线的拐点)下面使用莺尾花数据集,来展示以下信息:训练数据和评估数据在各epoch的准确度及损失情况from sklearn imp原创 2021-06-19 09:47:04 · 4091 阅读 · 0 评论 -
Keras---从检查点导入模型
from sklearn import datasetsimport numpy as npfrom keras.models import Sequentialfrom keras.layers import Densefrom keras.utils import to_categorical# 导入数据dataset = datasets.load_iris()x = dataset.dataY = dataset.target# 将标签转换为分类 one-hot 编码Y_l原创 2021-06-19 09:34:11 · 258 阅读 · 0 评论 -
indices[0,0] = 3046 is not in [0, 2681)
在用keras训练deepFM时,评估的时候出现这个错误。说明评估的数据维度和训练的维度不一致,建议对sparse_features、dense_features重新划分。部分代码如下:cclicol = ['position', 'hour', 'advert_place', 'province_id', 'W', 'H', 'click_nums_all', 'click_nums_yesterday', 'user_modelMake', 'holiday_clic.原创 2021-10-28 10:28:55 · 1160 阅读 · 0 评论 -
Keras---检查点自动保存最优模型
更简单的检查点策略是将模型权重保存在同一个文件中,当且仅当模型准确度提高时,才会将权重更新保存到文件中。当评估数据集上模型的准确度提高时,会输出权重到文件,我们只需要设置名字一样即可,会覆盖上次的结果,也就能保存到目前为止最好的模型。from sklearn import datasetsimport numpy as npfrom keras.models import Sequentialfrom keras.layers import Densefrom keras.utils import原创 2021-06-19 09:32:18 · 878 阅读 · 0 评论 -
Keras---模型增量更新
为了保证模型的实效性,需要定期对模型进行更新,这个时间间隔通常是3-6个月,甚至1-2个月。在数据量很大时,如果每次采用全部数据去训练模型,则时间开销会非常大,因此可以采用增量更新的方式对模型进行训练。这里使用莺尾花数据集为案例,将数据分成基本训练集和增量训练集。基本训练集训练完模型后保存,然后导入模型进行增量训练。from sklearn import datasetsimport numpy as npfrom keras.models import Sequentialfrom keras.原创 2021-06-19 09:16:52 · 1979 阅读 · 0 评论 -
tf2 一机多卡训练
文章目录前言镜像分布式策略 MirroredStrategy实现代码成功运行前言基于docker,使用两个GPU训练自定义模型(Keras子类)。镜像分布式策略 MirroredStrategy分布式策略有很多,这里只介绍一种,方便快速上手,实践证明一机多卡可行其它分布式策略详见:https://blog.csdn.net/u010099177/article/details/106074932tf.distribute.MirroredStrategy 支持在单机多GPU上的同步分布式训练原创 2022-02-11 16:50:59 · 2375 阅读 · 2 评论 -
tf from_logits=False 的含义
bce = tf.keras.losses.BinaryCrossentropy(from_logits=False)loss = bce([0., 0., 1., 1.], [1., 1., 1., 0.])print('Loss: ', np.array(loss)) # Loss: 11.522857在上面的代码中,bce 是对数损失函数的实例化,当模型最后一层没有经过激活函数时from_logits 设置为 True,否则为 False。因为 logits 表示网络的直接输出 。如果网.原创 2022-02-11 11:24:33 · 1430 阅读 · 0 评论 -
Consider saving to the Tensorflow SavedModel format (by setting save_format=“tf“) or using `save_wei
完整报错如下:Traceback (most recent call last): File "/ad_ctr/new_thought/tmp4.py", line 459, in <module> model.save(save_path.format('FCINN', 'FCINN-11-13.h5')) File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/network.p原创 2022-02-11 10:27:56 · 1194 阅读 · 0 评论 -
Negative dimension size caused by subtracting 2 from 1 for ‘{{node fcinn/fgcnn_layers/max_pooling2d_
ValueError: Negative dimension size caused by subtracting 2 from 1 for '{{node fcinn/fgcnn_layers/max_pooling2d_3/MaxPool}} = MaxPool[T=DT_FLOAT, data_format="NHWC", ksize=[1, 2, 1, 1], padding="VALID", strides=[1, 2, 1, 1]](fcinn/fgcnn_layers/conv2d_3/T原创 2022-02-11 09:45:20 · 2030 阅读 · 1 评论 -
CTR --- FGCNN论文阅读笔记,及tf2复现
文章目录摘要1. 介绍2. 卷积神经网络模型的特征生成2.1 概貌2.2 Feature Embedding2.3.1 Convolutional Layer2.3.2 Pooling Layer2.3.3 Recombination Layer2.3.4 Concatenation2.4 Deep Classifier2.4.1 Network Structure2.4.2 Batch Normalization2.4.3 Objective Function.3. paper结果tf2 复现原文链接:原创 2022-02-09 16:22:58 · 888 阅读 · 3 评论 -
conv_output_length 在全连接之前获取定义的卷积和池化的输出维度
文章目录1.问题描述2.Dense定义在`build`的时候提前获得卷积、池化的输出尺寸关键代码:build关键代码:cell全部代码1.问题描述自定义Keras类的时候,在build方法里定义好卷积、池化、全连接。因为全连接要给输入维度,它牵扯到每次卷积-池化后的维度,所以想在build的时候获取定义卷积和池化后的输出尺寸。全连接可以定义在cell里,不用提前获得尺寸,但是要通过自定义循环的方式训练。自定义循环训练看:https://blog.csdn.net/qq_42363032/artic原创 2022-02-09 10:54:25 · 604 阅读 · 0 评论 -
Input 0 of layer conv2d is incompatible with the layer: expected ndim=4, found ndim=3. Full shape re
Input 0 of layer conv2d is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [None, 208, 1]情景:在卷积用于结构化数据时,自定义Keras类中Conv2D卷积调用报错报错原因:输入数据是3维的,不符合卷积要求,卷积要求是4维的卷积计算要求输入的图片必须是4个维度的,第0个维度表示一次喂入几个batch,第1、2、3个维度分别表示输入图片的分辨率和通原创 2022-02-08 14:56:45 · 3087 阅读 · 2 评论 -
tf2 自定义循环训练,添加metrics(acc、auc、precision、recall)
tf2 自定义循环训练,并添加评估acc、auc、精确率、召回率原创 2022-01-26 15:59:59 · 3386 阅读 · 0 评论 -
Keras、torch,embedding代码实现
文章目录keras实现torch实现以结构化数据为例,Keras、torch分别搭建DNN,实现embedding。如果帮到你请为博主点赞。关于embedding的理解,请看:https://blog.csdn.net/qq_42363032/article/details/122131214https://blog.csdn.net/qq_42363032/article/details/115938059https://blog.csdn.net/qq_42363032/article/原创 2022-01-26 14:52:24 · 2216 阅读 · 0 评论 -
Keras 自定义类的前向call里 ‘Tensor‘ object has no attribute ‘numpy‘
AttributeError: 'Tensor' object has no attribute 'numpy'问题描述:在Keras的自定义类的call方法里,将tensor转为array,报错AttributeError: 'Tensor' object has no attribute 'numpy'。但是在其它地方都是可以实现的。问题解决:编译的时候加:run_eagerly=True 即可。model.compile( optimizer=adam, .原创 2022-01-19 14:41:35 · 2955 阅读 · 1 评论 -
tf2实现---GBDT+FM
和GBDT+LR目标几乎一致,利用GBDT自动进行特征筛选和组合,进而形成新的离散特征向量,再把该特征向量当做FM的输入,进行二阶特征交叉。有关GBDT+LR的文章请看:https://blog.csdn.net/qq_42363032/article/details/112756687直接给出基于tf2实现的GBDT+FM代码:# coding:utf-8# @Time: 2022/1/18 3:35 下午# @File: GBDT_FM.pyimport timeimport nump原创 2022-01-18 15:39:02 · 1201 阅读 · 0 评论 -
ResNet用于结构化数据
关于ResNet的介绍,参考这篇文章:https://blog.csdn.net/qq_51715775/article/details/115211130直接上代码:# coding:utf-8# @Time: 2022/1/11 4:09 下午# @File: residual_demo.pyimport timeimport numpy as np, pandas as pdimport tensorflow as tffrom sklearn.metrics import acc.原创 2022-01-14 10:59:36 · 306 阅读 · 0 评论 -
assertion failed: [predictions must be >= 0] [Condition x >= y did not hold element-wise:]
完整报错如下:tensorflow.python.framework.errors_impl.InvalidArgumentError: assertion failed: [predictions must be >= 0] [Condition x >= y did not hold element-wise:] [x (res_net/dense_17/BiasAdd:0) = ] [[-2.71081591][1.54978752][2.17600775]...] [y (Cast_原创 2022-01-11 17:03:02 · 1984 阅读 · 0 评论 -
CTR --- DIEN论文阅读笔记,及tf2复现
文章目录前言DIN和DIEN的总体思路DIN对兴趣建模的缺点DIEN对兴趣建模的思路结构行为序列层(Behavior Layer)兴趣抽取层(Interest Extractor Layer)辅助损失兴趣进化层(Interest Evolving Layer)兴趣演化的特点作用注意力机制的计算DIN中注意力得分结合的方式DIEN中注意力得分结合方式(AUGRU)tf2实现前言因为DIEN是GRU和推荐网络的结合,所以有关序列模型部分请看博主的这篇文章:https://blog.csdn.net/qq_原创 2022-01-07 15:37:54 · 1085 阅读 · 3 评论 -
CTR --- DIN论文阅读笔记,及tf2复现(全网之最)
总结笔记之前已经发过,这里直接贴出tf2实现的代码https://blog.csdn.net/qq_42363032/article/details/121951588?spm=1001.2014.3001.5501# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2022/1/5 5:00 下午# @File: ctr_DIN.py'''DIN'''import numpy as npimport tensorfl原创 2022-01-07 15:26:49 · 776 阅读 · 3 评论 -
CTR --- AFM论文阅读笔记,及tf2复现
文章目录注意力机制提出动机解决方案举例理解结构基于注意力机制的池化层综合上述注意力机制的计算理解tf2实现注意力机制提出动机解决方案把注意力机制引到里面去,来学习不同交叉特征对于结果的不同影响程度。举例理解结构基于注意力机制的池化层综合上述注意力机制的计算理解tf2实现# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2022/1/4 5:14 下午# @File: ctr_AFM.py原创 2022-01-07 15:23:39 · 521 阅读 · 5 评论 -
CTR --- NFM论文阅读笔记,及tf2复现
文章目录提出动机结构特征交叉池化层特点工程化结构tf2实现提出动机结构特征交叉池化层特点工程化结构tf2实现# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2022/1/4 11:12 上午# @File: ctr_NFM.py'''NFM'''import numpy as npimport tensorflow as tffrom tensorflow.keras import laye原创 2022-01-07 15:17:27 · 647 阅读 · 0 评论 -
CTR --- DeepFM论文阅读笔记,及tf2复现
文章目录提出动机结构共享embedding的好处tf2实现提出动机结构共享embedding的好处tf2实现# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2021/12/30 5:45 下午# @File: ctr_DeepFM.py'''DeepFM'''import numpy as npimport tensorflow as tffrom tensorflow.keras import原创 2022-01-07 15:13:49 · 454 阅读 · 0 评论 -
CTR --- DeepCross(DCN)论文阅读笔记,及tf2复现
文章目录提出动机解决方案结构tf2实现提出动机解决方案结构tf2实现# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2021/12/30 4:31 下午# @File: ctr_DCN.py'''DCN'''import numpy as npimport tensorflow as tffrom tensorflow.keras import layersfrom tensorflow.ker原创 2022-01-07 15:09:38 · 698 阅读 · 3 评论 -
CTR ---Wide&Deep论文笔记,及tf2实现
文章目录记忆能力泛化能力提出动机结构交叉积变换谷歌的实践tf2实现记忆能力泛化能力提出动机结构交叉积变换谷歌的实践tf2实现# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2021/12/30 5:18 下午# @File: ctr_WDL.py'''WDL''''''WDL'''import numpy as npimport tensorflow as tffrom tens原创 2022-01-07 15:06:16 · 998 阅读 · 0 评论 -
CTR --- FNN原理,及tf2实现
文章目录提出动机解决方案结构作用优缺点tf2实现提出动机解决方案结构作用优缺点tf2实现# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2022/1/4 3:26 下午# @File: ctr_FNN.py'''FNN'''import numpy as npimport tensorflow as tffrom tensorflow.keras import layersfrom te原创 2022-01-07 14:28:35 · 731 阅读 · 0 评论 -
CTR --- FM原理,及tf2实现
文章目录原理结构缺点tf2实现原理结构缺点因为组合爆炸问题,不能扩展到三阶或多阶。tf2实现# coding:utf-8# @Email: wangguisen@infinities.com.cn# @Time: 2021/12/30 3:44 下午# @File: ctr_FM.py'''FM'''import numpy as npimport tensorflow as tffrom tensorflow.keras import layersfrom tenso原创 2022-01-07 14:23:20 · 537 阅读 · 3 评论 -
tf.reduce_mean 为 inf 的原因及解决
直接上代码,有一个Tensor如下:aux_loss = tf.keras.losses.binary_crossentropy(tf.concat([pos_res, neg_res], axis=0), tf.concat([pos_target, neg_target], axis=0))print(aux_loss)tf.Tensor([7.996 8. 8.016 ... 7.598 7.586 7.535], shape=(35934,), dtype=float16)计算损原创 2022-01-06 20:54:45 · 733 阅读 · 0 评论 -
mac keras绘制网络结构图
在使用keras的plot_model绘制网络结构图时报错代码如下:from keras.utils import plot_modelplot_model(model, to_file='./imgs/NFM_model.png', show_shapes=True)报错如下:网上很多教程是安装pydot,这个包在python3.5之后就已经不能使用了,如果继续安装的是pydot,即使将grahviz按如下步骤安装完成了之后,还是会继续爆出OSError: pydot failed to原创 2022-01-04 15:41:31 · 801 阅读 · 0 评论 -
keras embedding用法
import tensorflow as tffrom tensorflow.keras import models, layers, losses, metrics, optimizers# linear regressiondef demo_linreg(): # 样本数量 n = 100 # 生成测试用数据集 X = tf.random.uniform([n, 2], minval=0, maxval=10) w0 = tf.constant([[2原创 2021-12-24 16:37:23 · 1084 阅读 · 0 评论 -
DIN 论文读后分享(精华总结)
文章目录一、摘要&前言二、阿里展示广告系统中用户行为数据特征的背景介绍二、阿里广告业务特征&DIN提出思路三、DIN(DEEP INTEREST NETWORK 深度兴趣网络)3.1 提出思路3.2 具体方案3.3 特征表示3.4 base模型3.5 DIN结构3.6 Mini-batch Aware Regularization(基于mini batch的自适应正则)3.7 Data Adaptive Activation Function(数据自适应激活函数 Dice)四、GAUC五、代原创 2021-12-15 14:38:25 · 2181 阅读 · 0 评论 -
tf2 --- 张量
文章目录张量数据结构一,常量张量二,变量张量张量数据结构程序 = 数据结构+算法。TensorFlow程序 = 张量数据结构 + 计算图算法语言张量和计算图是 TensorFlow的核心概念。Tensorflow的基本数据结构是张量Tensor。张量即多维数组。Tensorflow的张量和numpy中的array很类似。从行为特性来看,有两种类型的张量,常量constant和变量Variable.常量的值在计算图中不可以被重新赋值,变量可以在计算图中用assign等算子重新赋值。一,常量张量原创 2021-12-14 10:27:31 · 261 阅读 · 0 评论 -
tf2 --- 结构化数据建模流程
文章目录结构化数据建模流程范例一,准备数据二,定义模型三,训练模型四,评估模型五,使用模型六,保存模型结构化数据建模流程范例一,准备数据titanic数据集的目标是根据乘客信息预测他们在Titanic号撞击冰山沉没后能否生存。结构化数据一般会使用Pandas中的DataFrame进行预处理。import numpy as np import pandas as pd import matplotlib.pyplot as pltimport tensorflow as tf from te原创 2021-12-14 10:08:39 · 1760 阅读 · 0 评论 -
focal loss 调参(保存)
https://blog.csdn.net/qq_42363032/article/details/121573416https://zhuanlan.zhihu.com/p/103623160https://zhuanlan.zhihu.com/p/266023273转载 2021-12-08 17:12:04 · 5414 阅读 · 0 评论 -
tf.device does not support functions when eager execution
在用deepctr训练DIEN的时候,出现如下错误:在调用DIEN之前,在main里声明:if tf.__version__ >='2.0.0': tf.compat.v1.disable_eager_execution()DIEN实现: https://blog.csdn.net/qq_42363032/article/details/121774193原创 2021-12-08 10:27:09 · 1916 阅读 · 0 评论