tensorflow2.0编程规范
背景
tensorflow2.0 相比于1.0 有很大变化,1.0版本的placeholder,Session都没有了,2.0版本强推使用keras。keras是一个比较高层的api,确实挺好用的,一些基本模型使用起来很方便,本文主要写了几种常用场景下的编程规范指南,都是自己总结出来的如果大家有更好的想法可以在评论中留言。
目的
编程规范的目的是,从构架速度、清晰、可扩展几个方面考虑。
编程规范
- 比较简单的顺序模型
比较简单的模型直接使用Sequential比较好,也可以使用Model构建 - 较复杂的模型
一般指有多输入都输出,共享某些层等的情况。
使用keras.Model
keras.Model必须有输入层,输出层,当构建一个Model的对象时,这个对象可以看成一个层,如果想将这个层用于另一个Model,必须重新定义输入层。举个例子:import tensorflow as tf try:
import tensorflow.python.keras as keras
except:
import tensorflow.keras as keras
import numpy as np X = np.linspace(0, 1.0, 100)
y = X ** 2 + 1.0
X = np.reshape(X, (-1, 1)) m_in = keras.layers.Input(shape=(1,))
h1 = keras.layers.Dense(units=10, activation="relu")
out = keras.layers.Dense(units=1, activation="relu") h = h1(m_in)
h = out(h)
model1 = keras.Model(inputs=m_in, outputs=h) m2_in = keras.layers.Input(shape=(h.shape[1],))
h2 = keras.layers.Dense(units=12)
h3 = keras.layers.Dense(units=1)
h = h2(m2_in)
h = h3(h) model2 = keras.Model(inputs=m2_in, outputs=h)
# model2.summary() m_in = keras.layers.Input(shape=(1,))
h = model1(m_in)
out = model2(h) model3 = keras.Model(inputs=m_in, outputs=out)
model3.summary()
关于Tensorflow2.0中Tensor类的问题,使用tf.shape获得的Tensor对象是没有numpy属性的。
tensorflow2.0编程规范的更多相关文章
- 为什么有的编程规范要求用 void 0 代替 undefined
Undefined Undefined 类型表示未定义,它的类型只有一个值,就是 undefined. 任何变量在被赋值前它的值都是 undefined,但是在 JavaScript 引擎中,unde ...
- 使Eclipse符合Java编程规范
编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...
- flex+AS3编程规范
flex+AS3编程规范 Flex+AS3编码规范 http://www.cnblogs.com/jiahuafu/ 1. 缩写: 尽量避免使用缩写,使用缩写时尽量和Flex保持一致.但要记住一 ...
- Python编程规范(PEP8)
Python编程规范(PEP8) 代码布局 缩进 对于每一次缩进使用4个空格.使用括号.中括号.大括号进行垂直对齐,或者缩进对齐. 制表符还是空格? 永远不要将制表符与空格混合使用.Python最常用 ...
- Python 编程规范-----转载
Python编程规范及性能优化 Ptyhon编程规范 编码 所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*- .设置编辑器,默认保存为 utf-8 格式. ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
- 中兴软件编程规范C/C++
Q/ZX 深圳市中兴通讯股份有限公司企业标准 (设计技术标准) Q/ZX 04.302.1–2003 软件编程规范C/C++ 20 ...
- Java编程规范实践
一个好的编程规范可以让代码易于理解,具体的操作却不必如此麻烦. 本文包含以下内容: Eclipse Java代码Formatter配置 Eclipse 代码模板配置 自动添加Javadoc注释 附录: ...
- 基于华为Java编程规范的Eclipse checkStyle.xml
发现项目组成员代码规范存在较大的问题,于是就在华为编程规范的基础上制定了这份checkStyle.xml文档,至于Eclipse怎么安装checkStyle插件以及该插件怎么使用请自行Google之. ...
随机推荐
- C学习笔记-运算符
一些基本概念 数据对象:泛指数据在内存的存储区域 左值:表示可以被更改的数据对象 右值:能赋给左值的量 算数运算符 运算符 描述 实例 + 把两个操作数相加 a + b - 从第一个操作数中减去第二个 ...
- NPM安装过程中的一些问题与解决
1. 安装 vue-cli3后提示 : Package require os(darwin) not compatible with your platform(win32). 上面是因为安装 npm ...
- 高并发网络编程之epoll详解(转载)
高并发网络编程之epoll详解(转载) 转载自:https://blog.csdn.net/shenya1314/article/details/73691088 在linux 没有实现epoll事件 ...
- 使用foreach的禁忌
List<String> list = new ArrayList<>(); Iterator<String> iterator = list.iterator() ...
- linux系统设置允许密码登录
编辑 /etc/ssh/sshd_config 文件 将PasswordAuthentication 的值改为 yes 然后重启ssh 服务 进入到 /etc/init.d 文件夹内 执行 ./s ...
- 从入门到自闭之Python--MySQL数据库安装
分类: 关系型数据库:mysql oracle sqlserver sqllite 非关系型数据库:redis mongodb memcache hbase 安装: 网址:https://www.my ...
- Ruby Rails学习中:调试信息和 Rails 的三种环境,Users 资源,调试器,Gravatar 头像和侧边栏
注册 一.调试信息和 Rails 环境 现在咱们要实现的用户资料页面是我们这个应用中第一个真正意义上的动态页面.虽然视图的代码不会动态改变, 不过每个用户资料页面显示的内容却是从数据库中读取的.添加动 ...
- python 安装PostgreSQL 模块:psycopg2
官方资料:http://www.psycopg.org/psycopg/docs/ 安装: yum -y install python-psycopg2 (安装的版本可能是2.0) pip insta ...
- WEB小计
使用vue的事件绑定时,应当使用.stop来阻止事件的传播 html 有捕获和冒泡两种事件机制
- TIPTOP之分割split函数方法、getIndexOf、subString、replace、临时表创建;
范例(cnmq001): 原:每次查询都把数据全部查询到临时表后再筛选: 现:查询到临时表的时候,增加可行的筛选条件,再二次筛选临时表的数据,进行优化: 1)临时表创建: PRIVATE FUNCTI ...