问题标签 [torchscript]
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.
pytorch - 切片一个维度变化的张量
我正在尝试对尺寸的 PyTorch 张量进行切片my_tensor
,s x b x c
以便沿第一个维度的切片根据indices
长度的张量而变化b
,效果如下:
my_tensor[0:indices, torch.arange(0, b, dtype=torch.long), :] = something
上面的代码不起作用并收到错误TypeError: tuple indices must be integers or slices, not tuple
。
我的目标是,例如,如果indices = torch.tensor([3, 5, 4])
那时:
my_tensor[0:3, 0, :] = something
my_tensor[0:5, 1, :] = something
my_tensor[0:4, 2, :] = something
我希望有一种张量的方式来做到这一点,所以我不必求助于 for 循环。此外,该方法需要与 TorchScript 兼容。非常感谢。
pytorch - 尽管模型和输入都在同一设备上,但 Torchscript 跟踪“必须在当前设备上”错误
尽管我尽了最大努力,但我还是无法运行 torch.jit.trace,遇到RuntimeError: Input, output and indices must be on the current device
我有一个(相当复杂的)模型,我已经把它放在 GPU 上,连同一组输入,也在 GPU 上。我可以验证所有输入张量和模型参数和缓冲区都在同一设备上:
我可以证明模型运行并且输出在正确的设备上:
尽管如此,追踪还是失败了:
- 我了解输入和输出,但是必须在同一设备上的这些“索引”是什么?
- 我没有考虑到的其他哪些因素可能导致跟踪失败?
c++ - Torchscript/C++ jit::trace 模型 - 访问层参数
我有一个在 python 中训练的模型,使用 跟踪torch.jit.trace
,并使用torch::jit::load
.
有没有办法访问最后一层以提取模型所需输出深度的值(例如,如果它是从 16 -> 2 开始的 Conv2D 层,我想为深度 [b,d- >2,x,y] 的 2)?
python - 尝试将我的火炬模型转换为火炬脚本时出现此错误
我对 torchscript 和 JIT 比较陌生,并且收到此错误:
这是我的转发函数,它采用 args 和 kwargs 参数。任何人都可以帮助我在没有错误的情况下传递这些论点
c++ - 无法在 C++ 中加载 traced_torch_model_pt
我试图将预先构建的 traced_torch_model.pt 加载到 C++;但是,错误消息显示“example-app.exe”存在代码 -1 请参见下面的我的代码片段和错误消息屏幕截图。感谢您的意见。
c++ - 在 C++ 中输入具有浮点数据类型的一维数组
我想输入 row = [0.160625, 0.967468297, 3.520480583, 0.862454481, -0.341933766] 作为浮点类型的条目并将其传递给转发模块。我用 python 试图翻译成 C++,我得到了语法错误。需要支持。谢谢!
我想使用 row 作为实例并获取输出。当我使用诸如 torch::one({1, 5}) 之类的虚拟值时,应用程序运行正常。但是,当我将实际值作为行 - 浮点数组传递时,应用程序被中止。
nlp - 将 torchtext 词汇与 torchscript 一起使用
我正在尝试将 torchtext 词汇层与 torchscript 一起使用,但我遇到了一些错误,我想知道这里是否有人使它工作。
我现在的模型是
当我像这样通过模型时,这很有效:
但是当我尝试用 torchscript 编译它时它失败了:
出现以下错误:
当我在转发功能期间映射查找层的结果时
我认为是由于打字,因为词汇层需要字符串作为输入,但嵌入层将使用张量。我在前锋中间做一个演员表。
如果有人想要,我在 colab 中有一个工作笔记本可以重现此问题:https ://colab.research.google.com/drive/14nZF5X8rQrZET_7iA1N2MUV3XSzozpeI?usp=sharing