问题标签 [tensorflow-hub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
143 浏览

python - 我们如何修复以下错误“InternalError:无法将元素作为字节获取”?

我是一名学生,我正在尝试在 keras 上使用 elmo 实现文本分类。我从 tensorflow-hub 导入了 elmo 层。

模型 :

x 和 y 是 int32 numpy 数组

在实现上述代码时,我收到以下错误

更新代码

新错误

0 投票
1 回答
141 浏览

python - tensorflow_hub:带有检查点路径的模块规范导出不会保存所有变量

我想用 tensorflow 训练 GAN,然后将生成器和鉴别器导出为 tensorflow_hub 模块。
为此:
- 我用 tensorflow 定义我的 GAN 架构
- 训练它并保存检查点
- 创建一个具有不同标签的 module_spec,例如:
(set(), {'batch_size': 8, 'model': 'gen'})
({'bs8', 'gen'}, {'batch_size': 8, 'model': 'gen'})
({'bs8', 'disc'}, {'batch_size': 8, 'model': 'disc'})
- 使用我在训练期间保存的 checkpoint_path 在 tf_hub_path 使用 module_spec 导出

然后,我可以使用以下命令加载生成器:

但是,当我尝试使用类似的命令加载鉴别器时:

我得到了错误:

因此,我得出结论,鉴别器中存在的变量没有保存在磁盘上的模块中。我检查了我想象的不同错误来源:

  • 正确定义了模块规范。为此,我决定训练我的模型,创建模块规范并直接从该 module_spec 加载模块。这对生成器和鉴别器都很好。然后,我假设我的 module_spec 是正确的
  • 然后,我想知道检查点是否正确地将所有变量保存在我的图表中。

    因此,我看到所有变量都正确保存在检查点内。只有与生成器相关的两个变量在磁盘上的 tf hub 模块中正确导出。

最后,我想我的错误来自:

从 checkpoint_path 导出变量时,只考虑标签“gen”。我还检查了 module.variable_map 和检查点路径中的列表变量之间的变量名称是否对应。这是带有标签“disc”的模块的变量映射:

我有

  • 张量流:1.13.1
  • 张量流集线器:0.4.0
  • 蟒蛇:3.5.2

谢谢你的帮助

0 投票
1 回答
537 浏览

python - 如何将 tensorflow-hub 模块与 tensorflow-dataset api 一起使用

我想使用 Tensorflow Dataset api 使用 tensorflow Hub 初始化我的数据集。我想使用 dataset.map 函数将我的文本数据转换为嵌入。我的 TensorFlow 版本是 1.14。

由于我使用了 elmo v2 模块,它将一堆句子数组转换为它们的词嵌入,因此我使用了以下代码:

我想要嵌入文本数组,如 [batch_size, max_words_in_batch, embedding_size],但我收到一条错误消息:

我怎样才能得到预期的结果?

0 投票
1 回答
1483 浏览

python - Tensorflow Hub:微调和评估

假设我想微调 Tensorflow Hub 图像特征向量模块之一。出现问题是因为为了微调模块,需要执行以下操作:

假设模块是Resnet50.

换句话说,模块是使用trainable设置为的标志导入的,True并且带有train tag. 现在,如果我想验证模型(对验证集进行推理以测量模型的性能),我无法关闭批处理规范,因为train tagtrainable标志。

请注意,这个问题已经在这里被问过Tensorflow hub 微调和评估,但没有提供答案。

我还提出了一个关于它的 Github 问题

期待您的帮助!

0 投票
1 回答
2083 浏览

amazon-web-services - '没有找到 SavedModel 包!' 将 tensorflow_hub 模型部署到 AWS SageMaker

我尝试将通用句子编码器模型部署到 aws Sagemaker 端点并收到错误raise ValueError('no SavedModel bundles found!')

我在下面显示了我的代码,我感觉我的路径之一不正确

0 投票
1 回答
316 浏览

amazon-web-services - 失败的前提条件:表未初始化。在 aws sagemaker 部署的通用句子编码器上

我已将 Universal_sentence_encoder_large_3 部署到 aws sagemaker。当我尝试使用已部署的模型进行预测时,我得到Failed precondition: Table not initialized.了一个错误。我在下面包含了我保存模型的部分:

我看到其他人问过这个问题,但没有发布任何解决方案。这似乎是 tensorflow_hub 句子编码器的常见问题

0 投票
2 回答
597 浏览

python - 将模型另存为 H5 或 SavedModel 时出现 TensorFlow Hub 错误

我想使用这个 TF Hub 资产: https ://tfhub.dev/google/imagenet/resnet_v1_50/feature_vector/3

版本:

代码

我得到:

我试过了:

但是当我尝试保存模型时,我得到:

教程在这里

0 投票
1 回答
62 浏览

python - 使用 Tensorflow Slim 重现 TensorFlow Hub 模块输出

我正在尝试使用模块从Tensorflow Hub基于Tensorflow Slim checkpoint的模块中重现输出Tensorflow Slim。但是,我似乎无法获得预期的输出。例如,让我们加载所需的库,创建一个示例输入和占位符来提供数据:

加载TF Hub模块:

现在,让我们做同样的事情TF Slim并创建一个加载检查点的加载器:

现在,一旦我们准备好一切,我们就可以测试输出是否相同:

但是,断言失败,因为两个输出不相同。我认为这是因为TF Hub使用了TF Slim实现缺少的输入的内部预处理。

让我知道你的想法!

0 投票
1 回答
527 浏览

python - Tensorflow Hub 模块的可训练变量在训练期间未更新

我的问题与此处提出的问题非常相似:https ://github.com/tensorflow/hub/issues/269 。但是这些问题仍然没有答案,所以我会在这里问。重现步骤:

张量流 1.14.0 张量流集线器 0.5.0 Python 3.7.4 Windows 10

这是重现问题的示例笔记本: https ://colab.research.google.com/drive/1PKUyoQRP3othu6cu7v7N7yn8K2pjkuKP

  1. 加载一个可训练的 tensor_hub Inception 3 模块:
  1. 将此时创建的所有可训练/模型/全局变量保存到单独的“基本模型”列表(3 个列表) var 示例: base_model trainable_variables vars : 188, ['module/InceptionV3/Conv2d_1a_3x3/weights:0', 'module/ InceptionV3/Conv2d_1a_3x3/BatchNorm/beta:0'.. base_model model_variables vars : 188, ['module/InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_mean:0', 'module/InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_variance:0 base_model variables vars : 0 , [] #空列表

  2. 在模型顶部添加自定义分类层:

  1. 同样,将所有新添加的变量名称放入 3 个新的不同“自定义”列表中:

    自定义 trainable_variables vars: 2, ['final_weights:0', 'final_biases:0'] 自定义 model_variables vars: 0, [] 自定义变量 vars: 0, []

  2. 添加火车操作。由于基础模型具有批量标准化,我们必须关心更新操作。这就是我使用 tf.contrib.training.create_train_op 的原因:

    1. 再次,将所有新添加的变量名称放入 3 个新的不同“优化器”列表中:优化器 trainable_variables vars: 0, [] optimizer model_variables vars: 0, [] optimizer variables vars: 383, ['global_step:0', 'beta1_power:0 '、'beta2_power:0'、'module/InceptionV3/Conv2d_1a_3x3/weights/Adam:0'、'module/InceptionV3/Conv2d_1a_3x3/weights/Adam_1:0'、'module/InceptionV3/Conv2d_1a_3x3/BatchNorm/beta/Adam:0 '、'module/InceptionV3/Conv2d_1a_3x3/BatchNorm/beta/Adam_1:0'、'module/InceptionV3/Conv2d_2a_3x3/weights/Adam:0'、'module/InceptionV3/Conv2d_2a_3x3/weights/Adam_1:0'、'module/InceptionV3 /Conv2d_2a_3x3/BatchNorm/beta/Adam:0',...

现在进行常规训练:

因此,在每个训练步骤之后,校验和仅更改为两个变量列表,自定义可训练和优化器全局:

所以,问题是,为什么基础模型的可训练变量没有改变?它们是 BatchNorm/moving_mean、BatchNorm/moving_variance、Conv2d_1a_3x3/weights,它们肯定应该在训练期间更新。更重要的是,moving_variance 也应该改变,因为 UPDATE_OPS 被包含在 tf.contrib.training.create_train_op 调用中作为训练步骤的依赖项。我检查了 UPDATE_OPS 列表,它包含以下有效值:更新操作:tf.Operation 'module_apply_image_feature_vector_with_bn_hparams/InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/AssignMovingAvg/AssignSubVariableOp' type=AssignSubVariableOp>,

0 投票
1 回答
2733 浏览

tensorflow - 如何微调通用句子编码器 3 嵌入到自己的语料库

我希望将 google 通用句子编码器 large 3 ( https://tfhub.dev/google/universal-sentence-encoder-large/3 )生成的嵌入微调到我自己的语料库中。任何有关如何执行此操作的建议将不胜感激。我目前的想法是将我的语料库中的句子对馈送到编码器,然后使用额外的层对它们在语义上是否相同进行分类。我的麻烦是我不确定如何设置它,因为这需要设置两个共享权重的 USE 模型,我相信它被称为连体网络。任何有关如何做到这一点的帮助将不胜感激