
torch
libtorch&pytorch
rayyy9
这个作者很懒,什么都没留下…
展开
-
libtorch,torch::nn::Module类改变parameters值和buffers值,以及深拷贝
【代码】libtorch,torch::nn::Module类改变parameters值和buffers值,以及深拷贝。原创 2025-03-26 08:01:22 · 121 阅读 · 0 评论 -
c++ libtorch Eigen矩阵转换为torch张量时数据类型必须一致
Eigen的double矩阵不能从内存拷贝成float张量,必须先转换为float矩阵,再从内存拷贝为float张量。原创 2024-10-29 10:36:49 · 253 阅读 · 0 评论 -
c++ libtorch 如何打印复数tensor
用std::cout会舍去虚部打印,原创 2024-10-22 17:29:33 · 232 阅读 · 0 评论 -
c++ libtorch 如何把std::complex<double>转换为c10::Scalar或者c10::complex<double>
把std::complex<double>转换为c10::complex<double>代码示例。把std::complex<double>转换为c10::Scalar代码示例。原创 2024-10-22 17:27:34 · 282 阅读 · 0 评论 -
c++ libtorch tensor 赋值 浮点数
【代码】c++ libtorch tensor 赋值 浮点数。原创 2024-10-22 17:23:17 · 136 阅读 · 0 评论 -
c++ libtorch tensor上半部分和下半部分对调
这里注意:从原张量切片来的张量需要深拷贝,再赋值到原张量,才能上下互调。原创 2024-10-22 17:09:02 · 137 阅读 · 0 评论 -
c++ libtorch 切片 torch::indexing::Slice()的含义
是一个辅助函数,用于创建一个切片对象,这个对象可以用于对Tensor进行切片操作。切片操作允许你选取Tensor中的一个子区域,而不需要复制数据。需要注意的是,切片操作不会改变原始Tensor的数据,而是返回一个新的Tensor,该Tensor与原始Tensor共享相同的数据。函数可以接受几个参数,它们定义了切片的开始、结束和步长。在上面的例子中,我们首先创建了一个5x5的Tensor,然后使用。在LibTorch中,原创 2024-10-22 17:02:45 · 459 阅读 · 0 评论 -
c++ libtorch tensor 求解本征值和本征向量
返回的是一个元组,其中第一个元素是包含本征值的Tensor,第二个元素是包含本征向量的Tensor。原创 2024-10-22 16:55:34 · 111 阅读 · 0 评论 -
c++ libtorch tensor 矩阵分块
narrow函数原型为。原创 2024-10-22 16:50:10 · 281 阅读 · 0 评论 -
c++ libtorch 多维张量和arrayfire 多维数组
第3维度是矩阵的行,第4维度是矩阵的列,以上代码表示生成2*3个4行5列的默认为torch::float32数据类型的随机矩阵。第1维度是矩阵的行,第2维度是矩阵的列,以上代码表示生成4*5个2行3列的默认为f32数据类型的随机矩阵。原创 2024-10-12 21:05:09 · 164 阅读 · 0 评论 -
c++ libtorch tensor 注意浅拷贝
结果 all_Kx和all_Ky一样,在每个第1维度上都是一样的随机b,因为all_Kx和all_Ky都是multi_dim_identity的浅拷贝,all_Kx先赋值,其实是赋值给了multi_dim_identity,然后all_Ky再赋值,其实是赋值给了multi_dim_identity,导致all_Kx也跟着变,所以和all_Ky一样。用clone方法可以深拷贝,这样all_Kx和all_Ky就不一样。原创 2024-10-12 20:53:07 · 239 阅读 · 0 评论 -
c++ libtorch 创建多维单位张量
3维单位张量,代码示例。4维单位张量,代码示例。原创 2024-10-12 20:41:59 · 161 阅读 · 0 评论 -
c++ libtorch 如何把std::complex<double>赋值给tensor
要将std::complex<double>转换为c10::complex<double>才能赋值给复数tensor。原创 2024-10-12 10:00:56 · 159 阅读 · 0 评论 -
c++ libtorch tensor转换为Eigen MatrixXcd
【代码】c++ libtorch tensor转换为Eigen MatrixXcd。原创 2024-10-12 09:32:31 · 159 阅读 · 0 评论 -
c++ libtorch torch::linalg::solve函数原型里的bool参数
BOOL参数是指第一个参数的逆是在第二个参数的左边还是第二个参数的右边,左边是true, 右边是false。torch::linalg::solve函数原型为。原创 2024-10-12 09:11:24 · 136 阅读 · 0 评论 -
torch::matmul函数支持广播规则
函数进行张量相乘,并且它支持广播规则。对于4维张量相乘,假设我们有两个张量。,这正是我们想要的结果。这样就不需要手动循环每个。的最后两个维度视为矩阵的列和行,进行矩阵乘法。在C++的LibTorch中,可以使用。可以直接进行批量矩阵乘法,不需要循环。的最后两个维度视为矩阵的行和列,而。函数自动处理了广播规则,它将。函数将处理剩余的前导维度(会自动为我们完成这个操作。),进行批量矩阵乘法。原创 2024-10-12 08:57:56 · 250 阅读 · 0 评论 -
c++ Eigen库 matrix是列主序优先存储,libtorch库 tensor是行主序优先存储,arrayfire库是列主序优先存储
如题。原创 2024-09-01 10:34:29 · 171 阅读 · 0 评论 -
torch 学习笔记 1
【代码】torch 学习笔记 1。原创 2024-08-21 16:54:10 · 127 阅读 · 0 评论 -
c++ LibTorch训练数据集的张量的规定,行数是样本的个数,列数是样本的特征的个数
如果你有一个包含10个样本的数据集,每个样本有3个特征,那么这个数据集的tensor在LibTorch中可能是一个形状为(10, 3)的张量,其中每一行代表一个样本的所有特征。原创 2024-08-19 14:49:02 · 128 阅读 · 0 评论 -
c++ libtorch tensor和Eigen Matrix互相转换
【代码】c++ libtorch tensor与Eigen Matrix互相转换。原创 2024-08-19 14:24:27 · 247 阅读 · 0 评论 -
torch::from_blob是引用原始数据
在C++中,如果你想要确保Tensor在原始数据生命周期结束之后仍然有效,你需要确保数据的生命周期至少和Tensor一样长,或者你可以通过调用.clone()或.detach()方法来创建Tensor的副本,这样Tensor将拥有自己的数据副本,与原始数据独立。这个Tensor会引用你提供的内存区域,而不是复制它。还有if语句里的临时变量在执行完if语句后会被析构,这个也需要注意,结合以上,要把原始数据和Tensor在if语句外面声明定义,这样转换的Tensor在执行完if语句后才不会变。原创 2024-02-22 15:55:36 · 1849 阅读 · 0 评论