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
)

参数:

  1. x: 测试自变量,可以是Numpy数组或数组列表、TensorFlow张量或张量列表、如果模型具有命名输入,则dict将输入名称映射到相应的数组/张量、tf.data数据集或数据集的迭代、生成器或keras.utils.Sequence实例。
  2. y: 目标数据,类型同x一样。
  3. batch_size: 每个批量处理的数据量。整数。默认为32。如果你的数据是 symbolic tensors, dataset, dataset iterators, generators, or keras.utils.Sequence则不需要指定该参数,因为它会生成batchs.
  4. verbose: 0, 1,默认为1。日志显示,批量输出,你可以控制输出的间隔。
  5. steps: 整数或None,每轮迭代的步数。如果x是 tf.data dataset or a dataset iterator,and steps is None,则数据将会耗尽为止。max_queue_size: 默认为10,生成队列的最大size。
  6. 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总结相关推荐

  1. [tensorflow]tensorflow 2.1 函数API(The Functional API)

    目录 1.函数API介绍 2.创建模型 3.训练和评估模型 4.保存模型 5.模型的嵌套 1.函数API介绍 Keras的函数API是一种创建模型的方法,该模型比tf.keras.Sequential ...

  2. Tensorflow高级API的进阶--利用tf.contrib.learn建立输入函数

    正文共5958个字,预计阅读时间15分钟. 笔记整理者:王小草 笔记整理时间:2017年2月27日 笔记对应的官方文档:https://www.tensorflow.org/get_started/i ...

  3. 一文初探Tensorflow高级API使用(初学者篇)

    正文共5917个字,3张图,预计阅读时间34分钟. 笔记整理者:王小草 笔记整理时间:2017年2月26日 对应的官方文档地址:https://www.tensorflow.org/get_start ...

  4. TensorFlow2.0教程-keras 函数api

    TensorFlow2.0教程-keras 函数api Tensorflow 2.0 教程持续更新: https://blog.csdn.net/qq_31456593/article/details ...

  5. TensorFlow 官方API 中文版(二)

    TensorFlow 官方API 中文版(二) 7/19/2016 6:55:43 AM 1.1.1 class tf.Graph(续) tf.Graph.devide(device_name_or_ ...

  6. Tensorflow高级API系列(一):Estimator是什么?

    前言 最近一直在做CTR预估的模型,为了应对大规模数据和导出更加易用的线上模型导出模型的问题,不得不放弃session,placehoder这种比较原始的tensorflow编码.使用更加高级的est ...

  7. TensorFlow Keras API用法

    TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...

  8. Tensorflow C++ API调用Keras模型实现RGB图像语义分割

    我的实验是基于PSPNet模型实现二维图像的语义分割,下面的代码直接从得到的h5文件开始往下做... 也不知道是自己的检索能力出现了问题还是咋回事,搜遍全网都没有可以直接拿来用的语义分割代码,东拼西凑 ...

  9. 今晚直播 | 谷歌资深工程师手把手教你使用TensorFlow最新API构建学习模型

    目前,深度学习的研究和应用大受追捧,各种开源的深度学习框架层出不穷.TensorFlow 作为目前最受欢迎的深度学习框架,已经在 GitHub 上获得了 112194 个 star,受欢迎程序可见一斑 ...

最新文章

  1. iOS超全开源框架、项目和学习资料汇总(1)UI篇
  2. dpdk18.11 收发包流程分析
  3. 2016-8-2更新日志
  4. docker 安全性_未来的Docker安全性
  5. 基于AMPL的tsp旅行商问题
  6. 项目启动会发言稿(范文二)
  7. 声网(agora)音视频通话sdk—微信小程序demo
  8. 淘宝/天猫API:item_search_jupage-天天特价
  9. ArcGIS影像空值填充\插补
  10. pygame安装超详细讲解
  11. LordPE v1.4 by yoda
  12. 两种方法教你将PDF转换CAD搞定!
  13. oled显示GIF动图
  14. c语言之良好的编程习惯(一)
  15. 虚拟机中linux连网,虚拟机Linux上网的方法
  16. 【sdx62】通过dtsi控制gpio高低电平实例
  17. 超过10的带圆圈的自动项目编号
  18. 计算机无法自动搜索更新驱动程序,升级后关于硬件驱动的相关问题
  19. 订单23系统服务器,《死亡搁浅》订单23怎么完成?系统服务器订单任务攻略
  20. 第一章 回归模型分析

热门文章

  1. 最新的SCI-HUB访问地址
  2. java与fabric区块链--fabric-ca-server 注册---(3)
  3. pom.xml中的dependencyManagement
  4. CentOS 7 源码编译安装 PostgreSQL 11.2
  5. Cell:浙大张兴/朱永群组揭示细菌鞭毛马达结构、组装与扭矩传输机制
  6. MPB:亚热带生态所谭支良组-基于微生物成分数据的差异zOTU分析流程
  7. Cell子刊:16s分析之FishTaco分析
  8. 亦正亦邪,骨骼惊奇的LGG
  9. Nature Microbiology: 微生物数据的系统发育分析方法
  10. R语言使用ggplot2包的快速可视化函数qplot绘制散点图实战