Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化 [1] 。

在 TensorFlow 中,推荐使用 Keras( tf.keras )构建模型。

  1. Kera有两个非常重要的概念,模型(Model)和层(Layer)。
  • 将各种计算流程和变量进行了封装
  • 模型将各种层进行组织和连接,并封装成一个整体

Keras 模型以类的形式呈现,我们可以通过继承 tf.keras.Model 这个python类来定义自己的模型。

在继承类中,我们需要重写__init__(构造函数,初始化)和 call(input)(模型调用)两个方法,同时也可以根据自己的需要增加自定义的方法。

>>> import tensorflow as tf
>>> class MyModel(tf.keras.Model): ... def __init__(self):
... super().init
//此处添加初始化代码(包含call方法中会用到的各种层),例如:
// Layer1 = tf.keras.Layers.BuiltInLayer(...)
// Layer1 = example(...) //初始化各种层,定义好都是干啥的 ... def call(self,input):
//此处添加模型调用的代码(处理输入并返回输出)
//描述各种数据是如何通过各种层最后得到输出
// x = Layer1(input)
//output = Layer2(x) //调用定义的层进行数据处理
... return output //返回结果
...
//还可添加自定义方法
  • 再次进行线性回归

>>> import tensorflow as tf
>>> x = tf.constant([[1.,2.,3.],[4.,5.,6.]])
>>> y = tf.constant([[10.],[20.]])
>
>>> class Linear(tf.keras.Model):
... def __init__(self):
... super().__init__()
... self.dense = tf.keras.layers.Dense(
... units = 1,
... activation = None,
... kernel_initializer=tf.zeros_initializer(),
... bias_initializer = tf.zeros_initializer())
... def call(self,input):
... output = self.dense(input)
... return output
... >>> model = Linear()
>>> optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)
>>> model = Linear()
>>> optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)
for i in range(100):
with tf.GradientTape() as tape:
y_pred = model(X)
loss = tf.reduce_mean(tf.square(y_pred - y))
grads = tape.gradient(loss, model.variables)
optimizer.apply_gradients(grads_and_vars=zip(grads, model.variables))
print(model.variables)

以后还是用pycharm吧,直接在cmd中用python看得我头晕眼花。。

–2019.8.25

TensorFlow2 Part3:动态模型建立与训练的更多相关文章

  1. 三分钟快速上手TensorFlow 2.0 (上)——前置基础、模型建立与可视化

    本文学习笔记参照来源:https://tf.wiki/zh/basic/basic.html 学习笔记类似提纲,具体细节参照上文链接 一些前置的基础 随机数 tf.random uniform(sha ...

  2. OSGI(面向Java的动态模型系统)

    基本简介编辑 OSGI服务平台提供在多种网络设备上无需重启的动态改变构造的功能.为了最小化耦合度和促使这些耦合度可管理,OSGi技术提供一种面向服务的架构,它能使这些组件动态地发现对方.OSGi联 O ...

  3. OSGI 面向Java的动态模型系统

    OSGI (面向Java的动态模型系统) OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范.OSGi一方面指维护OSGi规范的OSG ...

  4. [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构

    [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 目录 [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 0x00 摘要 0x01 启动 1.1 分 ...

  5. [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现

    [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 目录 [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 0x00 摘要 0x01 并行Tr ...

  6. [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush

    [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 目录 [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 0x0 ...

  7. UML动态模型图简单介绍

    UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...

  8. ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试

    原文:ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发布.测试 第一篇.GP降雨量等值线建模.发布及测试 在水利.气象等行业中,要在WebGIS中实现空间分 ...

  9. [Unity3D][Vuforia][IOS]vuforia在unity3d中添加自己的动态模型,识别自己的图片,添加GUI,播放视频

    使用环境 unity3D 5 pro vuforia 4 ios 8.1(6.1) xcode 6.1(6.2) 1.新建unity3d工程,添加vuforia 4.0的工程包 Hierarchy中 ...

随机推荐

  1. 设计模式课程 设计模式精讲 9-2 原型模式coding

    1 课堂演练 1.1 super.toString 作用 1.2 为什么要使用克隆方法呢 2 代码解析 2.1 代码解析1(使用原型模式之前) 2.2 代码解析2(使用原型模式默认方式(浅克隆)) 2 ...

  2. 按钮UIButton的使用

    一.使用概要 当添加一个按钮到你的界面,执行以下步骤: 1.在创建时设置按钮的类型. 2.提供一个标题字符串或图像,为您的内容适当调整按钮的大小. 3.连接一个或多个操作按钮的方法. 4.设置自动布局 ...

  3. win10安装Oracle11g

    第一步,下载 oracle 下载地址,官网(需要登录注册): http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_databa ...

  4. ADO.NET基础必背知识

    DO.NET 由.Net Framework 数据提供程序和DataSet 两部分构成. .NET FrameWork 是 Connection  连接对象 Command   命令对象 DataRe ...

  5. 【剑指Offer面试编程题】题目1515:打印1到最大的N位数--九度OJ

    题目描述: 给定一个数字N,打印从1到最大的N位数. 输入: 每个输入文件仅包含一组测试样例. 对于每个测试案例,输入一个数字N(1<=N<=5). 输出: 对应每个测试案例,依次打印从1 ...

  6. 【转载】XShell 连接 VirtualBox CentOS7

    1.安装 XShell 网址:http://sw.bos.baidu.com/sw-search-sp/software/07a1d9cec0638/Xshell-5.0.1339.exe 尽量不要安 ...

  7. 四、spring集成ibatis进行项目中dao层基类封装

    Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库 ...

  8. Django创建完全独立的APP

    我们之前已经完成了项目的结构搭建,但是,在Django当中,我们强调的一个重要概念是app,比如Django自带的admin就是一个成功的app典范,那么我们应该如果整理自己的项目结构,才能让我们的a ...

  9. javaBean、EJB、POJO

    1.JavaBean 最初是由 Sun 公司提出的一种规范,主要包含以下要求: ----类是 public 的,并且有一个无参数的构造函数 ----属性修饰符为:private,并通过 get 和 s ...

  10. java多条件查询SQL语句拼接的小技巧

    问题: 一个界面有个多个文本框输入值(或下拉框)展示的查询条件,也就是组合条件查询,需要在java里面动态拼接SQL,where条件如何写? 解决思路: 在where关键字后面固定写 1=1, 若还有 ...