问题标签 [tensor2tensor]
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.
nlp - 在 tensor2tensor 中运行示例项目
我正在尝试从以下位置在我的 Windows 电脑上执行该程序:
我正在尝试首先生成数据。但是这个命令不起作用。
它给出一个错误:
看起来问题没有得到解决。我确实有链接中提到的代码:
相同的代码:
我在 ....\t2t-poetry\trainer\problem.py 有这个文件
你能告诉我我错过了什么吗?
python - 翻译模型预测:TypeError:“EagerTensor”类型的对象不是 JSON 可序列化的
我按照Google 的 tensor2tensor 存储库的建议遵循了翻译 colab 笔记本教程
导出模型并将其上传到 Google 的 AI Platform 引擎进行在线预测后,我无法向模型发出请求。
我相信翻译模型的输入是源文本的张量。但我收到一个错误TypeError: Object of type 'EagerTensor' is not JSON serializable
我尝试将张量转换为 numpy 但仍然没有运气。有人能指出我正确的方向吗?
python - tensor2tensor/avg_checkpoints 脚本是否错误
我正在并行训练两个子模型,并希望在它们都完成后对它们进行平均。
该模型是用 tensor2tensor 实现的(但仍然使用 tensorflow)。部分定义是这样的:
我将其保存如下:
当我加载它时,我使用:
我使用 avg_checkpoint 来平均两个子模型:
但是当我进一步检查 avg_checkpoints 代码时发现问题:
它只保存变量,而不是所有张量。EG 当我使用上面的 load_model 函数加载它时,它不能有“input_x:0”张量。这个脚本是错误的,还是我应该根据我的使用来修改它?
我正在使用 TF r1.13。谢谢!
tensorflow - 使用 T2T 的 Tensorflow 即使有大量可用内存也无法分配 GPU 内存
我正在尝试用洋红色训练一个自定义模型,它搭载了 tensorflow-gpu。问题是无论如何,tensorflow 都无法正确分配我的 GPU 内存并开始训练。作为记录,这是我正在使用的命令:
当 seq_length 设置为 2048 时,这没有问题,仅使用大约 25% 的 CPU 和 GPU 功率。我有一个 i7-9600k 和一个 RTX 2070,有 8 GB 的 VRAM。但是,当我将其增加到 4096 时,即使是最小的 GPU 分配量,它也会开始失败。这是日志的(压缩)版本:
我已在此处将 pastebin 附加到“完整”相关日志:https ://pastebin.com/CQpYdUC4
为了解决明显的问题,不,我没有使用 GPU 运行任何其他程序,不,我没有运行多个实例。它甚至无法分配 512 MB 的 GPU 使用量,即使应该有高达 ~8 GB 的可用空间。
我尝试在 t2t_trainer.py 脚本中手动将 memory_fraction 降低到 0.2,并尝试设置“allow_growth”。这些似乎都没有帮助,尽管将 memory_fraction 设置为 0.2 确实降低了可用内存,并且一开始只是开始尝试分配 1.44 GB 而不是 7 GB。
我已经黔驴技穷了。作为记录,这是 Tensorflow 1.14 和 CUDA 10.0,因为模型需要它。
python - 如何在 python 中对 tensor2tensor 模型进行推理(无需解码二进制文件和 TensorFlow Serving)
我对如何在不使用解码二进制文件和 TensorFlow Serving 的情况下对 tensor2tensor 模型进行推理感到有些困惑。以下两个代码示例似乎最接近它,但我收到“无法转换符号张量”错误。
模型输出在它通过解码器并抛出错误之前给了我这个:
https://gist.github.com/alexwolf22/7b24636c99a6f56da13c27a1ce573b8a#file-using_t2t_models-py https://gist.github.com/alexwolf22/e0ae60d8908c2772f2d3aedacf0ea618#file-decode_t2t_funcs-py
我可能做错了什么?有没有更好的例子来说明如何只用代码在 tensor2tensor 中进行推理?我也通过了 tensor2tensor 存储库中的解码.py,但仍然没有运气。这是我与推理代码一起关注的博客。
python - 如何追踪“无效参数:维度 1 的切片索引 0 超出范围”。
我已经实现了一种方法,用于在培训期间对示例进行预处理。
我能够将其归结为一个特定的功能。如果我在训练期间使用它,我会在我的日志中看到:
我无法在我的单元测试中重现此问题,也无法在另一个项目中重现此问题,在那里我使用相同的功能而没有错误。
由于我没有得到堆栈跟踪,因此我不知道问题是什么或在哪里查找错误。
有没有办法从 tensorflow 获取更多关于此类错误的信息?
python - AttributeError:模块'tensorflow._api.v1.compat.v1.compat'没有属性'v1
我正在使用基于 Tensorflow 构建的 tensot2tensor,当我到达训练 pf 步骤时,出现此错误 AttributeError: module 'tensorflow._api.v1.compat.v1.compat' has no attribute 'v1 and here is my code on google合作实验室
tensorflow - 如何在数据管道中获取当前的 global_step
我正在尝试创建一个取决于global_step
培训当前的过滤器,但我没有正确地这样做。
首先,我不能tf.train.get_or_create_global_step()
在下面的代码中使用,因为它会抛出
这就是为什么我尝试使用tf.get_default_graph().get_name_scope()
并在该上下文中获取范围的原因,我能够“获取”全局步骤:
问题在于它似乎没有像我预期的那样工作。根据我的观察,current_step
上面代码中的似乎一直为 0(我不知道,只是根据我的观察,我假设)。
唯一似乎有所作为,而且听起来很奇怪,就是重新开始训练。我认为,同样基于观察,在这种情况下,current_step
将是此时培训的实际当前步骤。但是随着训练的继续,值本身不会更新。
如果有办法获取当前步骤的实际值并在我的过滤器中使用它,就像上面一样?
环境
张量流 1.12.1
tensorflow - 就内存而言,tensor2tensor 和 pytorch 有什么区别吗?
我正在尝试使用 pytorch 和 tensor2tensor 训练 seq2seq 模型(变压器)。使用 tensor2tensor 时,批量大小可以为 1024,而 pytorch 模型显示 CUDA 内存不足错误,批量大小为 8。
tensor2tensor 中是否使用了任何技术来充分利用内存。
如果有人知道这一点,请告诉我。
提前致谢。
tensorflow - 如何替换 tensor2tensor 中的损失函数?
我正在尝试在 tensor2tensor 中训练 seq2seq 模型。是否可以将 CrossEntropy 损失替换为其他函数?
提前致谢。