TensorFlow使用MySQl_如何使用TensorFlow Hub和代码示例

本文详细介绍了如何使用TensorFlow Hub进行深度学习模型的使用和微调,包括模块实例化、签名、预期输入和输出、获取模块层、初始化操作等关键步骤,并提供了图像分类、特征向量、视频分类、文本嵌入、图像增强和对象检测等不同场景的代码示例。
摘要由CSDN通过智能技术生成

任何深度学习框架,为了获得成功,必须提供一系列最先进的模型,以及在流行和广泛接受的数据集上训练的权重,即与训练模型。

TensorFlow现在已经提出了一个更好的框架,称为TensorFlow Hub,它非常易于使用且组织良好。使用TensorFlow Hub,您可以通过几行代码导入大型和流行的模型,自信地执行广泛使用的传输学习活动。TensorFlow Hub非常灵活,可以

值得注意的是,TensorFlow Hub Module仅为我们提供了包含模型体系结构的图形以及在某些数据集上训练的权重。大多数模块允许访问模型的内部层,可以根据不同的用例使用。但是,有些模块不能精细调整。在开始开发之前,建议在TensorFlow Hub网站中查看有关该模块的说明。

前置知识

接下来,让我们看一些可用于了解TensorFlow Hub模块更多细节的重要方面和功能。

1)模块实例化:由TensorFlow Hub网站托管用于不同目的(图像分类,文本嵌入等)的不同模型(Inception,ResNet,ElMo等)组成的各种模块。用户必须浏览模块目录,然后在完成其目的和模型后,需要复制托管模型的URL。然后,用户可以像这样实例化他的模块:

importtensorflow_hub as hub

module= hub.Module(<>, trainable=True)

除了URL参数,另一个最值得注意的参数是'trainable'。如果用户希望微调/修改模型的权重,则必须将此参数设置为True 。

2)签名:模块的签名指定了每个模块的作用。如果未明确提及签名,则所有模块都带有“默认”签名并使用它。对于大多数模块,当使用“默认”签名时,模型的内部层将从用户中抽象出来。用于列出模块的所有签名名称的函数是get_signature_names()。

importtensorflow_hub as hub

module= hub.Module('https://tfhub.dev/google/imagenet/inception_v3/classification/1')print(module.get_signature_names())#['default', 'image_classification', 'image_feature_vector']

3)预期输入:每个模块都有一组预期输入,具体取决于所使用模块的签名。虽然大多数模块都记录了TensorFlow Hub网站中的预期输入集(特别是“默认”签名),但有些模块没有。在这种情况下,使用get_input_info_dict()更容易获得预期输入及其大小和数据类型。

importtensorflow_hub as hub

module= hub.Module('https://tfhub.dev/google/imagenet/inception_v3/classification/1')print(module.get_input_info_dict()) #When no signature is given, considers it as 'default'#{'images': }

print(module.get_input_info_dict(signature='image_feature_vector'))#{'images': }

4)预期输出:为了在构建TensorFlow Hub模型之后构建图的剩余部分,有必要知道预期的输出类型。get_output_info_dict()函数用于此目的。请注意,对于“默认”签名,通常只有一个输出,但是当您使用非默认签名时,图表的多个图层将向您公开。

importtensorflow_hub as hub

module= hub.Module('https://tfhub.dev/google/imagenet/inception_v3/classification/1')print(module.get_output_info_dict()) #When no signature is

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值