tensorflow函数API总结
tensorflow函数API总结:
首推官网查询
tf.keras.Input:创建输入层
别名:
- tf.keras.Input
- tf.keras.layers.Input
tf.keras.Input(shape=None,batch_size=None,name=None,dtype=None,sparse=False,tensor=None,**kwargs
)
参数:
- shape:形状元组(整数),不包括批量大小.例如,shape=(32,),表示预期的输入将是32维向量的批次.
- batch_size:可选的静态批量大小(整数).
- name:图层的可选名称字符串.在模型中应该是唯一的(不要重复使用相同的名称两次).如果未提供,它将自动生成.
- dtype:数据类型由输入预期的,作为字符串(float32,float64,int32…)
- sparse:一个布尔值,指定是否创建占位符是稀疏的.
- tensor:可选的现有张量包裹到Input图层中.如果设置,图层将不会创建占位符张量.
- **kwargs:不支持的参数.
返回:
A tensor.
示例:
# this is a logistic regression in Keras
x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)
keras.layers.Dense:创建全连接层
keras.layers.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)
参数:
units:该层有几个神经元
activation:该层使用的激活函数
use_bias:是否添加偏置项
kernel_initializer:权重初始化方法
bias_initializer:偏置值初始化方法
kernel_regularizer:权重规范化函数
bias_regularizer:偏置值规范化方法
activity_regularizer:输出的规范化方法
kernel_constraint:权重变化限制函数
bias_constraint:偏置值变化限制函数
使用示例
keras.layers.Dense(30, activation= 'relu')
keras.models.Model函数
kerals.models.Model(input = ,output = )
参数
input:输入层,必须由keras.layers.Input来创建
output:输出层
中间层不用作为参数,但是默认会加入model模型
tf.keras.Model.compile()函数
keras.Model.compile(optimizer,---> ['Adadelta', 'Adagrad', 'Adam', 'Adamax', 'FTRL', 'NAdam', 'optimizer', 'RMSprop', 'SGD']loss=None,metrics=None,loss_weights=None,sample_weight_mode=None,weighted_metrics=None,target_tensors=None,distribute=None,**kwargs
)
参数:
optimizer: 优化参数,选择范围我们已经在上面的代码块展示了。**
loss:损失函数
BinaryCrossentropy:计算真实标签和预测标签之间的交叉熵损失。
CategoricalCrossentropy:计算标签和预测之间的交叉熵损失。
CategoricalHinge:计算y_true和y_pred之间的分类铰链损失。
CosineSimilarity:计算y_true和y_pred之间的余弦相似度。
Hinge:计算y_true和y_pred之间的铰链损耗。
Huber:计算y_true和y_pred之间的Huber损失。
KLDivergence:计算y_true和y_pred之间的Kullback Leibler差异损失。
LogCosh:计算预测误差的双曲余弦的对数。
Loss:损失基类。
MeanAbsoluteError:计算标签和预测之间的绝对差异的平均值。
MeanAbsolutePercentageError:计算y_true和y_pred之间的平均绝对百分比误差。
MeanSquaredError:计算标签和预测之间的误差平方的平均值。
MeanSquaredLogarithmicError:计算y_true和y_pred之间的均方对数误差。
Poisson:计算y_true和y_pred之间的泊松损失。
Reduction:减少损失的类型。
SparseCategoricalCrossentropy:计算标签和预测之间的交叉熵损失。
SquaredHinge:计算y_true和y_pred之间的平方铰链损耗。
metrics: 训练和测试期间要使用的评估指标
1、metrics=['accuracy']
2、多输出模型的不同输出指定不同的度量标准:metrics={'output_a': 'accuracy', 'output_b': ['accuracy', 'mse']}metrics=[['accuracy'], ['accuracy', 'mse']]metrics=['accuracy', ['accuracy', 'mse']]
sample_weight_mode:如果您需要进行时间步长样本加权(2D权重),请将其设置为temporal。None默认为采样权重(1D)。如果模型具有多个输出,则可以sample_weight_mode通过传递字典或模式列表在每个输出上使用不同的输出。weighted_metrics:在训练和测试期间由sample_weight或class_weight评估和加权的指标列表。
tf.keras.Model.evaluate:模型评估
evaluate(x=None,y=None,batch_size=None,verbose=1,sample_weight=None,steps=None,callbacks=None,max_queue_size=10,workers=1,use_multiprocessing=False
)
参数:
- x: 测试自变量,可以是Numpy数组或数组列表、TensorFlow张量或张量列表、如果模型具有命名输入,则dict将输入名称映射到相应的数组/张量、tf.data数据集或数据集的迭代、生成器或keras.utils.Sequence实例。
- y: 目标数据,类型同x一样。
- batch_size: 每个批量处理的数据量。整数。默认为32。如果你的数据是 symbolic tensors, dataset, dataset iterators, generators, or keras.utils.Sequence则不需要指定该参数,因为它会生成batchs.
- verbose: 0, 1,默认为1。日志显示,批量输出,你可以控制输出的间隔。
- steps: 整数或None,每轮迭代的步数。如果x是 tf.data dataset or a dataset iterator,and steps is None,则数据将会耗尽为止。max_queue_size: 默认为10,生成队列的最大size。
- workers: 进程数。
tf.keras.Model.evaluate_generator():在数据生成器上评估模型
evaluate_generator(generator,steps=None,callbacks=None,max_queue_size=10,workers=1,use_multiprocessing=False,verbose=0
)
tf.keras.Model.fit:在数据上拟合模型
fit(x=None,y=None,batch_size=None,epochs=1,verbose=1,callbacks=None,validation_split=0.0,validation_data=None,shuffle=True,class_weight=None,sample_weight=None,initial_epoch=0,steps_per_epoch=None,validation_steps=None,validation_freq=1,max_queue_size=10,workers=1,use_multiprocessing=False,**kwargs
)
参数:
x:输入数据。如果模型只有一个输入,那么x的类型是numpy array,如果模型有多个输入,那么x的类型应当为list,list的元素是对应于各个输入的numpy array
y:标签,numpy array
batch_size:整数,指定进行梯度下降时每个batch包含的样本数。训练时一个batch的样本会被计算一次梯度下降,使目标函数优化一步。
epochs:整数,训练终止时的epoch值,训练将在达到该epoch值时停止,当没有设置initial_epoch时,它就是训练的总轮数,否则训练的总轮数为epochs - inital_epoch
verbose:日志显示,0为不在标准输出流输出日志信息,1为输出进度条记录,2为每个epoch输出一行记录
callbacks:list,其中的元素是keras.callbacks.Callback的对象。这个list中的回调函数将会在训练过程中的适当时机被调用,参考回调函数
validation_split: 0,1之间的浮点数。分割部分数据用于验证,其余用于训练。当x是dataset, dataset iterator, generator or keras.utils.Sequence时该参数不可用。
validation_data:指定验证集数据:(x_val, y_val)、(x_val, y_val, val_sample_weights);dataset or a dataset iterator两种数据对于上面两种情况要指定validation_steps。
class_weight: 指定权值分配,可以突出重点关注的类别。(对损失函数加权)
sample_weight: 样本加权,对损失函数加权,以获得更好的结果。这里可以是numpy数组,必须保障shape是和传入数据大小一致。应该确保在compile()中指定sample_weight_mode=“temporal”,dataset, dataset iterator, generator, or keras.utils.Sequence不支持该参数。
initial_epoch: 整数。开始训练的epoch(对于恢复以前的训练运行很有用)。
steps_per_epoch: 每个epoch的迭代步数。
validation_steps:
validation_freq: 指定验证的epoch,可以为整数或者列表:如:[1,2,10]。
tf.keras.Model.fit_generator:在数据生成器上拟合模型,可以减少内存消耗
fit_generator(generator,steps_per_epoch=None,epochs=1,verbose=1,callbacks=None,validation_data=None,validation_steps=None,validation_freq=1,class_weight=None,max_queue_size=10,workers=1,use_multiprocessing=False,shuffle=True,initial_epoch=0
)
这里传入的数据必须是生成器(yield),如:
def generate_arrays_from_file(path):while 1:f = open(path)for line in f:# create numpy arrays of input data# and labels, from each line in the filex1, x2, y = process_line(line)yield ({'input_1': x1, 'input_2': x2}, {'output': y})f.close()model.fit_generator(generate_arrays_from_file('/my_file.txt'),steps_per_epoch=10000, epochs=10)
tf.keras.Model.get_layer:获取图层:根据其名称(唯一)或索引检索图层
get_layer(name=None,index=None
)
tf.keras.Model.load_weights:从TensorFlow或HDF5文件加载所有图层权重
load_weights(filepath,by_name=False
)
tf.keras.Model.predict:预测
predict(x,batch_size=None,verbose=0,steps=None,callbacks=None,max_queue_size=10,workers=1,use_multiprocessing=False
)
参数:
x:Numpy数组(或类数组)或数组列表、TensorFlow张量或张量列表、数据集或数据集的迭代、生成器或keras.utils.Sequence实例
tf.keras.Model.predict_generator:以生成器传入数据进行预测
predict_generator(generator,steps=None,callbacks=None,max_queue_size=10,workers=1,use_multiprocessing=False,verbose=0
)
tf.keras.Model.predict_on_batch:单批次样本进行预测
predict_on_batch(x)
tf.keras.Model.test_on_batch:单批次样本进行测试
train_on_batch(x,y=None,sample_weight=None,class_weight=None,reset_metrics=True
)
tf.keras.Model.train_on_batch:单批次样本进行训练
train_on_batch(x,y=None,sample_weight=None,class_weight=None,reset_metrics=True
)
tf.keras.Model.reset_metrics:指标的状态
如果True,返回的指标仅适用于此批次。如果False,指标将在批次之间有状态地累积。
tf.keras.Model.reset_states:重置状态,需要连续****
调用的时候最好使用resets_states()
tf.keras.Model.save:保存模型
save(filepath,overwrite=True,include_optimizer=True,save_format=None
)
将模型保存到Tensorflow SavedModel或单个HDF5文件。
保存文件包括:
1、模型体系结构,允许重新实例化模型。
2、模型权重。
3、优化器的状态,允许您从中断的位置恢复训练。
参数:
filepath: 字符串,模型保存的位置
overwrite: 是否静默覆盖目标位置的现有文件,或者为用户提供手动提示
include_optimizer: 如果为True,则将优化器的状态保存在一起
save_format: 保存的类型,‘tf’,‘h5’,目前tf已经禁用了(tensorflow2.0中)
from keras.models import load_modelmodel.save('my_model.h5') # creates a HDF5 file 'my_model.h5'
del model # deletes the existing model
# returns a compiled model
# identical to the previous one
model = load_model('my_model.h5')
tf.keras.Model.save_weights:保存所有图层权重
save_weights(filepath,overwrite=True,save_format=None
)
tf.keras.Model.summary:打印网络的字符串摘要
summary(line_length=None,positions=None,print_fn=None
)
参数:
line_length: 打印行的总长度(例如,将其设置为使显示适应不同的终端窗口大小)。
positions: 每行中日志元素的相对或绝对位置。如果未提供,则默认为[.33, .55, .67, 1.]。
print_fn: 打印功能。默认为print。它将在摘要的每一行上调用。您可以将其设置为自定义函数以捕获字符串摘要。
tf.keras.Model.to_json:返回包含网络配置的JSON字符串
要从保存文件JSON加载网络,请使用keras.models.model_from_json(json_string, custom_objects={})。
tf.keras.Model.to_yaml:返回包含网络配置的yaml字符串
要从yaml保存文件加载网络,请使用 keras.models.model_from_yaml(yaml_string, custom_objects={})。
tensorflow函数API总结相关推荐
- [tensorflow]tensorflow 2.1 函数API(The Functional API)
目录 1.函数API介绍 2.创建模型 3.训练和评估模型 4.保存模型 5.模型的嵌套 1.函数API介绍 Keras的函数API是一种创建模型的方法,该模型比tf.keras.Sequential ...
- Tensorflow高级API的进阶--利用tf.contrib.learn建立输入函数
正文共5958个字,预计阅读时间15分钟. 笔记整理者:王小草 笔记整理时间:2017年2月27日 笔记对应的官方文档:https://www.tensorflow.org/get_started/i ...
- 一文初探Tensorflow高级API使用(初学者篇)
正文共5917个字,3张图,预计阅读时间34分钟. 笔记整理者:王小草 笔记整理时间:2017年2月26日 对应的官方文档地址:https://www.tensorflow.org/get_start ...
- TensorFlow2.0教程-keras 函数api
TensorFlow2.0教程-keras 函数api Tensorflow 2.0 教程持续更新: https://blog.csdn.net/qq_31456593/article/details ...
- TensorFlow 官方API 中文版(二)
TensorFlow 官方API 中文版(二) 7/19/2016 6:55:43 AM 1.1.1 class tf.Graph(续) tf.Graph.devide(device_name_or_ ...
- Tensorflow高级API系列(一):Estimator是什么?
前言 最近一直在做CTR预估的模型,为了应对大规模数据和导出更加易用的线上模型导出模型的问题,不得不放弃session,placehoder这种比较原始的tensorflow编码.使用更加高级的est ...
- TensorFlow Keras API用法
TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...
- Tensorflow C++ API调用Keras模型实现RGB图像语义分割
我的实验是基于PSPNet模型实现二维图像的语义分割,下面的代码直接从得到的h5文件开始往下做... 也不知道是自己的检索能力出现了问题还是咋回事,搜遍全网都没有可以直接拿来用的语义分割代码,东拼西凑 ...
- 今晚直播 | 谷歌资深工程师手把手教你使用TensorFlow最新API构建学习模型
目前,深度学习的研究和应用大受追捧,各种开源的深度学习框架层出不穷.TensorFlow 作为目前最受欢迎的深度学习框架,已经在 GitHub 上获得了 112194 个 star,受欢迎程序可见一斑 ...
最新文章
- iOS超全开源框架、项目和学习资料汇总(1)UI篇
- dpdk18.11 收发包流程分析
- 2016-8-2更新日志
- docker 安全性_未来的Docker安全性
- 基于AMPL的tsp旅行商问题
- 项目启动会发言稿(范文二)
- 声网(agora)音视频通话sdk—微信小程序demo
- 淘宝/天猫API:item_search_jupage-天天特价
- ArcGIS影像空值填充\插补
- pygame安装超详细讲解
- LordPE v1.4 by yoda
- 两种方法教你将PDF转换CAD搞定!
- oled显示GIF动图
- c语言之良好的编程习惯(一)
- 虚拟机中linux连网,虚拟机Linux上网的方法
- 【sdx62】通过dtsi控制gpio高低电平实例
- 超过10的带圆圈的自动项目编号
- 计算机无法自动搜索更新驱动程序,升级后关于硬件驱动的相关问题
- 订单23系统服务器,《死亡搁浅》订单23怎么完成?系统服务器订单任务攻略
- 第一章 回归模型分析
热门文章
- 最新的SCI-HUB访问地址
- java与fabric区块链--fabric-ca-server 注册---(3)
- pom.xml中的dependencyManagement
- CentOS 7 源码编译安装 PostgreSQL 11.2
- Cell:浙大张兴/朱永群组揭示细菌鞭毛马达结构、组装与扭矩传输机制
- MPB:亚热带生态所谭支良组-基于微生物成分数据的差异zOTU分析流程
- Cell子刊:16s分析之FishTaco分析
- 亦正亦邪,骨骼惊奇的LGG
- Nature Microbiology: 微生物数据的系统发育分析方法
- R语言使用ggplot2包的快速可视化函数qplot绘制散点图实战