问题标签 [tensorflow2.x]
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.
gpu - LSTM 模型 Tensorflow 2.1.0 tf.distribute.MirroredStrategy() 在 AWS 实例 g3.4large 上运行缓慢
我在具有 2 个 GPU 的 AWS 实例 g3.8xlarge 上运行 LSTM 模型,并且使用tf.distribute.MirroredStrategy()
它以便我可以使用 2 个 GPU。但是,训练时间实际上比不使用它要慢。有谁知道如何解决这个问题?
我在用:
- Ubuntu 16.04
- NVIDIA-SMI 440.33.01
- CUDA 版本 10.1.105
- 库顿 7.6.5
- 张量流-GPU 2.1.0
我的代码是:
tensorflow - 我可以使用 TensorFlow 对异构机器进行分布式训练吗?
我有两台机器,机器 1 有 GPU,机器 2 只有一个 CPU。我想知道两台机器是否可以在TensorFlow中使用Multi-worker training,即分布式训练时,machine1使用GPU,machine2使用CPU。
TensorFlow 的版本是 2.1.0
tensorflow - tensorflow-gpu 2.2.0rc1 损失非常高 - 发生了什么变化?
我今天试了一下 tensorflow-gpu==2.2.0rc1 发现损失很大。在 tensorboard==2.1.0 上运行的相同脚本显示出良好的损失。我只有一个 GPU,没有使用分布式策略。2.2.0rc1 有什么问题 - 除了 rc1?
价值损失 2.1.0: 价值损失 2.1.0
价值损失 2.2.0rc1: 价值损失 2.2.0rc1
python - tensorflow python脚本迁移到2.1版本
我需要将一些 tensorflow 脚本迁移到 2.1 版本。阅读此任务后,我发现其中一个主要区别与 tensorflow.contrib 有关,已按照本文档中的说明删除和替换。
在我的脚本中,tensorflow.contrib 被广泛使用。同样使用上面文档中的指示,我无法清楚地了解类已移动到何处(例如 tf.contrib.quantization)
任何人都可以帮助我了解如何定位这个库,以及更多在更改的通用库中?
tensorflow - 如何使用 Tensorflow 2.1 保存检查点的平均权重?
我正在尝试使用 TF2.1 加载检查点并保存它们的平均权重。我为它找到了 TF1 版本。 https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/utils/avg_checkpoints.py
变量“检查点”是检查点路径的列表
冷你解释如何将平均值保存var_values
到一个检查点?
python - ValueError: `generator` 产生了一个形状为 (2, 200, 200, 3) 的元素,其中需要一个形状为 (4, 200, 200, 3) 的元素
我用 batch_size = 4 构造我的生成器函数,如下所示:
运行后发现这个错误
我无法理解为什么?
transfer-learning - 如何在 TF2.1 中保存/加载用于微调/迁移学习的部分模型?
我想建立自己的基础模型并使用大数据集对其进行训练。训练后,我保存了基础模型。我有另一个自定义模型,我想从基础模型中加载前两层的权重。我应该如何在 Tensorflow 2.1.0 中实现它,谢谢。
示例代码:
python - 如何为可变大小的图像配置 tf.data.Dataset?
我正在 Tensorflow 2.1 上设置图像数据管道。我正在使用具有可变形状(h、w、3)的 RGB 图像的数据集,但我找不到让它工作的方法。我打电话时收到以下错误tf.data.Dataset.batch()
:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot batch tensors with different shapes in component 0. First element had shape [256,384,3] and element 3 had shape [160,240,3]
我找到了padded_batch
方法,但我不希望我的图像被填充到相同的形状。
编辑:
我认为我通过使用该函数tf.data.experimental.dense_to_ragged_batch
(将密集张量表示转换为参差不齐的表示)找到了一个解决方法。
与 不同
tf.data.Dataset.batch
的是,要进行批处理的输入元素可能具有不同的形状,并且每个批处理将被编码为tf.RaggedTensor
但是我有另一个问题。我的数据集包含图像及其相应的标签。当我使用这样的功能时:
我收到以下错误,因为它试图将函数映射到整个数据集(因此映射到图像和标签),这是不可能的,因为它只能应用于 1 个单个张量(而不是 2 个)。
TypeError: <lambda>() takes 1 positional argument but 2 were given
有没有办法指定我希望将转换应用于两个元素中的哪个元素?
python - 如何在 tensorflow2-gpu 中调试内存不足
我将 tensorflow-2 gpu 与 tf.data.Dataset 一起使用。对小型模型的训练有效。
当训练一个更大的模型时,一开始一切正常:使用 gpu,第一个 epoch 工作没有问题(但我正在使用我的大部分 gpu 内存)。
在验证时,我遇到了一个 CUDA_ERROR_OUT_OF_MEMORY,它有各种分配,无法分配的字节数越来越少(范围从 922Mb 到 337Mb)。我目前没有指标,也没有回调,并且正在使用tf.keras.Model.fit
. 如果我删除验证数据,训练将继续。
我的问题是什么?我该如何调试呢?
在 tf1 中,我可以使用RunOptions(report_tensor_allocations_upon_oom=True)
tf2 中是否存在任何等价物?
这发生在 tensorflow==2.1.0 中。