- 博客(186)
- 收藏
- 关注
原创 c++ libtorch Eigen矩阵转换为torch张量时数据类型必须一致
Eigen的double矩阵不能从内存拷贝成float张量,必须先转换为float矩阵,再从内存拷贝为float张量。
2024-10-29 10:36:49 178
原创 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 231
原创 c++ libtorch 切片 torch::indexing::Slice()的含义
是一个辅助函数,用于创建一个切片对象,这个对象可以用于对Tensor进行切片操作。切片操作允许你选取Tensor中的一个子区域,而不需要复制数据。需要注意的是,切片操作不会改变原始Tensor的数据,而是返回一个新的Tensor,该Tensor与原始Tensor共享相同的数据。函数可以接受几个参数,它们定义了切片的开始、结束和步长。在上面的例子中,我们首先创建了一个5x5的Tensor,然后使用。在LibTorch中,
2024-10-22 17:02:45 248
原创 c++ libtorch tensor 求解本征值和本征向量
返回的是一个元组,其中第一个元素是包含本征值的Tensor,第二个元素是包含本征向量的Tensor。
2024-10-22 16:55:34 74
原创 c++ libtorch 多维张量和arrayfire 多维数组
第3维度是矩阵的行,第4维度是矩阵的列,以上代码表示生成2*3个4行5列的默认为torch::float32数据类型的随机矩阵。第1维度是矩阵的行,第2维度是矩阵的列,以上代码表示生成4*5个2行3列的默认为f32数据类型的随机矩阵。
2024-10-12 21:05:09 107
原创 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 160
原创 c++ libtorch 如何把std::complex<double>赋值给tensor
要将std::complex<double>转换为c10::complex<double>才能赋值给复数tensor。
2024-10-12 10:00:56 112
原创 c++ libtorch tensor转换为Eigen MatrixXcd
【代码】c++ libtorch tensor转换为Eigen MatrixXcd。
2024-10-12 09:32:31 114
原创 c++ libtorch torch::linalg::solve函数原型里的bool参数
BOOL参数是指第一个参数的逆是在第二个参数的左边还是第二个参数的右边,左边是true, 右边是false。torch::linalg::solve函数原型为。
2024-10-12 09:11:24 76
原创 torch::matmul函数支持广播规则
函数进行张量相乘,并且它支持广播规则。对于4维张量相乘,假设我们有两个张量。,这正是我们想要的结果。这样就不需要手动循环每个。的最后两个维度视为矩阵的列和行,进行矩阵乘法。在C++的LibTorch中,可以使用。可以直接进行批量矩阵乘法,不需要循环。的最后两个维度视为矩阵的行和列,而。函数自动处理了广播规则,它将。函数将处理剩余的前导维度(会自动为我们完成这个操作。),进行批量矩阵乘法。
2024-10-12 08:57:56 176
原创 c++ arrayfire af::span
在 ArrayFire 中,af::span是一个特殊的对象,它用于表示数组的全部范围。当你想要选择数组的一个维度中的所有元素时,可以使用af::span。以下是一些使用af::span。
2024-10-05 11:22:02 166
原创 c++ arrayfire array初始化
array是列存储优先的,和Eigen库的Matrix一样也是列存储优先的。上面有array类的各个成员函数。
2024-10-03 11:09:06 254
原创 c++ arrayfire supported data types
【代码】c++ arrayfire supported data types。
2024-10-03 10:55:05 311
原创 c++ arrayfire库,两个多维数组元素相乘的注意点
需要注意的是,进行元素相乘的两个数组必须具有相同的维度,或者至少是广播兼容的。广播规则允许在某个维度上尺寸为1的数组与尺寸更大的数组进行操作。在 ArrayFire 中,元素相乘(也称为逐元素乘法或哈达玛乘法)可以通过。是两个随机生成的四维数组,它们具有相同的维度。函数来计算它们的元素相乘结果,并将结果存储在数组。运算符来进行元素相乘。
2024-10-03 10:50:23 215
原创 c++ arrayfire库 多维数组矩阵相乘
2个多维数组矩阵相乘,一个数组维度是(m, k, n, p), 另一个数组维度是(k, q, n, p),第3维n和第4维p是相同的,然后第1维和第2维满足矩阵相乘要求,即m行k列乘以k行q列。
2024-10-02 21:21:16 121
原创 c++ arrayfire库 af::constant, af::identity, af::randu
【代码】c++ arrayfire库 af::constant, af::identity。
2024-10-02 21:14:53 139
原创 c++ Eigen库 matrix是列主序优先存储,libtorch库 tensor是行主序优先存储,arrayfire库是列主序优先存储
如题。
2024-09-01 10:34:29 140
原创 MPI_Scatter和MPI_Gather对向量的内层连续数据做集体通信
【代码】MPI_Scatter和MPI_Gather对向量的内层连续数据做集体通信。
2024-08-24 21:39:03 132
原创 python numpy 统计数组中小于某个数的元素的个数,将数组中小于某个数的元素置0
【代码】python numpy 统计数组中小于某个数的元素的个数,将数组中小于某个数的元素置0。
2024-08-19 17:48:40 111
原创 Eigen::VectorXd默认是列向量,行向量用Eigen::RowVector2d声明
Eigen::VectorXd默认是列向量, 行向量用Eigen::RowVectorXd声明。
2024-08-19 14:55:25 162
原创 c++ LibTorch训练数据集的张量的规定,行数是样本的个数,列数是样本的特征的个数
如果你有一个包含10个样本的数据集,每个样本有3个特征,那么这个数据集的tensor在LibTorch中可能是一个形状为(10, 3)的张量,其中每一行代表一个样本的所有特征。
2024-08-19 14:49:02 103
原创 c++ libtorch tensor和Eigen Matrix互相转换
【代码】c++ libtorch tensor与Eigen Matrix互相转换。
2024-08-19 14:24:27 155
原创 C++ MPI_Send, MPI_Recv 向量并修改
进程1先给进程0发送send values, 进程0接受后修改recv values再发送给进程1,进程1接受修改后的recv values。
2024-08-19 13:38:10 173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人