keras使用apply_gradients进行训练
参考这篇。不需要session,和tf1一样使用apply_gradients进行训练。
在for循环里训练,预测结果和这篇的两个for的结果一样。直接train(x_train,y_train)训练,结果和其他所有结果不一样。
import tensorflow as tf
from tensorflow import keras
from keras.layers import *
import numpy as nptf.random.set_seed(1)
np.random.seed(1)x_input = Input(shape=(None, 1))
y_input = Input(shape=(None, 1))ki=keras.initializers.Constant(value=2)
bi=keras.initializers.Constant(value=1)
y = Dense(1, kernel_initializer=ki,bias_initializer=bi)(x_input)def myloss(yt,yp):return tf.reduce_mean(tf.pow(yt - yp, 2))opt = tf.compat.v1.train.AdamOptimizer(1e-2)
m = keras.models.Model(inputs=[x_input, y_input], outputs=y)
# m.compile(loss=myloss,optimizer=opt) #注释掉结果一样x_pure = np.random.randint(-10, 100, 320).astype(np.float).reshape(-1, 1)
x_train = x_pure
y_train = 3 * x_pure + 2def train(x,y):with tf.GradientTape() as tape:y_pred = m([x,y])loss = myloss(y, y_pred)grads = tape.gradient(loss, m.trainable_weights)grads_and_vars = zip(grads, m.trainable_weights)opt.apply_gradients(grads_and_vars)for x_,y_ in zip(x_train,y_train):train(x_[np.newaxis,:],y_[np.newaxis,:])# train(x_train,y_train)testdata = np.arange(3).reshape(-1, 1)
print(m.predict([testdata, testdata]))
keras使用apply_gradients进行训练相关推荐
- 基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率)
基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差.最后给出topK准确率和召回率) 本文中使用的VAE算法以病人病史为输入 ...
- 基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施、Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率
基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施.Keras实现并可视化训练和验证误差.最后给出topK准确率和召回率 本著作改编自Dawen等人用于协同过滤目 ...
- 基于Keras搭建cifar10数据集训练预测Pipeline
基于Keras搭建cifar10数据集训练预测Pipeline 钢笔先生关注 0.5412019.01.17 22:52:05字数 227阅读 500 Pipeline 本次训练模型的数据直接使用Ke ...
- Keras之CNN:基于Keras利用cv2建立训练存储卷积神经网络模型(2+1)并调用摄像头进行实时人脸识别
Keras之CNN:基于Keras利用cv2建立训练存储卷积神经网络模型(2+1)并调用摄像头进行实时人脸识别 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 # -*- codin ...
- 使用NasNet模型与keras做深度学习训练时报错
使用NasNet模型与keras做深度学习训练时采用以下代码 一.代码片: inputs = Input((224, 224, 3)) base_model = NASNetMobile(includ ...
- python检测吸烟的算法_yolov3+tensorflow+keras实现吸烟的训练全流程及识别检测
yolov3+tensorflow+keras实现吸烟的训练全流程及识别检测 弈休丶 2019-12-30 23:29:54 1591 收藏 19 分类专栏: 基于yolov3+tensorflow+ ...
- 重要更新 | 谷歌发布 TensorFlow 1.4,迁移Keras,支持分布式训练
TensorFlow 1.4 版现在已公开发布 - 这是一个大更新!我们在这里非常高兴地宣布一些令人兴奋的新功能,希望大家喜欢. Keras 在 1.4 版中,Keras 已从 tf.contrib. ...
- 加快Tensorflow和Keras图像数据集的训练速度
这几天在训练一个CNN网络,使用到了两百多万个图片,虽然使用到了GPU NVIDIA GeForce GTX 1080Ti,但是还是很慢.故查阅了一些训练提速的文章,跟大家分享. Tensorflow ...
- 神经网络模型中class的forward函数何时调用_用Keras从零开始6步骤训练神经网络
本文将简要介绍Keras的功能特点,使用Keras构建模型一般流程的6个步骤,以及使用Keras处理mnist分类问题的一个简单范例. 一,Keras简介 Keras 是一个用 Python 编写的高 ...
最新文章
- 差异分析完整解决方案
- JAVASCRIPT学习笔记----Javascript引用类型
- 笔记-项目管理基础知识-项目管理办公室(PMO)
- 这个神奇的库,可以将数据平滑化并找到异常点
- Github上传代码指南(Window版,同样适合Linux版)
- [译] iOS 设计模式进阶
- ios基础篇(十二)——UINavgationController的使用(三)ToolBar
- 华为鸿蒙生态伙伴,华为鸿蒙生态加速 市场相关板块再度活跃
- JS indexOf 用法
- 对闰年和平年计算均值
- python基础知识学习_python学习(一) 基础知识
- Hexo-NexT主题添加评论功能(来必力、Hypercomments、畅言、友言)
- html中zoom方法,css中的zoom的作用
- Solana之旅1:Solana是什么
- 计算机的rom是内存的意思,电脑ram和rom是什么意思 电脑内存条是rom还是ram
- How to write a scientific research paper?
- 苏黎世联邦理工 T. Roscoe 教授:如何撰写系统会议论文评审
- 强化学习+数据库简单小结
- json格式数据比对
- ubuntu免费下载----百度网盘