问题标签 [libtorch]
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.
c++ - 如何用 C++ 数组填充 torch::tensor?
这是非常基本的:我通常使用 Eigen3 进行数学运算,但需要使用 libtorch 进行网络前向传递。现在我想torch::tensor
用我的 Eigen3 (或纯 C++ array
)中的数据填充,但没有for
循环。我怎样才能做到这一点?
这是带有循环的解决方案:
这目前工作正常,但N
可能会变得非常大,我只是在寻找一种方法来直接torch::tensor
使用以前使用的 C++设置我的基础数据array
pytorch - “加载共享库时出错:libnvinfer.so.7:无法打开共享对象文件:没有这样的文件或目录”运行 TRTorch 示例时
我正在尝试使用 TRTorch 引擎编译我的 pytorch 模型。我已经根据这个链接安装了 TRTorch。
运行示例代码时(使用此链接中的以下命令)出现给定错误:
sudo bazel run //cpp/trtorchexec -- $(realpath /home/TRTorch/tests/modules/alexnet_scripted.jit.pt) "(1,3,227,227)"
加载共享库时出错:libnvinfer.so.7:无法打开共享对象文件:没有这样的文件或目录
此外,LD_LIBRARY_PATH设置正确。
导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/TensorRT/TensorRT-7.0.0.11/lib
更多信息:
TRTorch:最新版本(python 包和二进制)
TensorRT:7.0.0.11
Pytorch:1.5.1
CUDA:10.2
Python:3.6
c++ - 在 Torch C++ 中创建 BoolTensor 掩码
我正在尝试为 C++ 类型的 Torch 创建一个掩码BoolTensor
。n
维度中的第一个元素one
需要是False
,其余的需要是True
。
这是我的尝试,但我不知道这是否正确(大小是元素的数量):
c++ - 如何使用protobuf序列化元组(std :: string,torch :: Tensor)的libtorch向量?
我应该如何定义 ProtoBuf 模式以便我可以序列化这个形状向量?
我能找到的只是简单的琐碎示例。我不知道应该如何在 ProtoBuf 模式中定义torch::Tensor
or !tuple
pytorch - LibTorch 中的固定内存
我可能遗漏了一些非常基本的东西,但我在文档或网上找不到任何解释
我正在尝试将 GPU 复制到at::Tensor
CPU 上的固定张量,但是一旦我复制它,CPU 张量就不再固定了。我假设它只是创建 GPU 张量的新副本并分配它,但如果是这种情况,你如何复制到预先分配的固定内存?
我的测试代码:
输出是
这也发生在torch::
而不是at::
使用从源代码编译的 LibTorch 1.5.0 在 Ubuntu 16.04 上测试
c++ - 为什么在 Torch C++ API 中就地张量方法是 const 的?
我在 PyTorch C++ 前端看到很多就地张量操作,例如mul_
和const:div_
这似乎很奇怪,因为就地操作应该修改张量数据,对吧?有谁知道使它们成为常量的原因是什么?
我在 github 上找到了一些讨论,但看起来标题与下面写的内容相矛盾:
'const Tensor' 不提供 const 安全性......因此,这些方法应该是非常量的
c++ - 如何转换 std::vector> 到火炬::张量?
我有一个std::vector<std::vector<double>>
我想将它转换成torch::Tensor
libtorch 的地方。但是,似乎 ,torch::tensor()
或torch::from_blob()
, 不能用于此目的!
我尝试使用c10::ArrayRef
然后使用它来将数据转换为 a torch::Tensor
,c10::ArrayRef<std::vector<std::vector<double>>> res(myvecs)
但这似乎也没用,因为我似乎找不到将其转换为torch::Tensor
.
我应该如何在 libtorch 中进行这种转换?除了例如,我还有什么其他选择:
c++ - 如何在libtorch中将形状(n,k)的张量与形状(k)的张量堆叠?
torch::stack
接受 ac10::TensorList
并且在给出相同形状的张量时工作得很好。但是,当您尝试发送先前torch::stack
编辑的张量的输出时,它会失败并导致内存访问冲突。
更具体地说,假设我们有 3 个形状为 4 的张量,例如:
第一轮堆叠是微不足道的:
但是,尝试这样做:
将失败。我希望获得与np.vstack
Python 中相同的行为,这是允许并有效的。我该怎么办?
pytorch - 与从文件中读取的相同张量进行比较时,为什么 C++ PyTorch API 中的“is_same”会失败?
为什么torch::Tensor::is_same
以下断言失败?使用 C++ PyTorch API 将张量写入文件,然后再次读入另一个张量,并is_same
比较两个张量:
这导致:
使用
- python-pytorch,Arch Linux 上的版本 1.6.0-2
- g++ (GCC) 10.1.0