自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(194)
  • 收藏
  • 关注

原创 多维数组展平为一维数组,当已知一维数组的index,想要得到多维数组各个维度的坐标

假设有一个多维数组,其维度是d0, d1, d2,... dn-1。那么每个元素的坐标是(x0, x1, ..., xn-1)。将其展平为一维的索引时,计算公式是:index = x0*(d1。...,对应CalcStep函数的结果。那么反过来,当已知一维的index,想要得到各个维度的坐标,就需要用每个步长去除,得到对应的xi的值,然后取余数继续处理下一个维度。这里的步长数组就是每个括号里的乘积,例如对于x0的步长是d1。FROM DEEPSEEK 深度思考。

2025-04-02 06:48:44 111

原创 libtorch,torch::nn::Module类改变parameters值和buffers值,以及深拷贝

【代码】libtorch,torch::nn::Module类改变parameters值和buffers值,以及深拷贝。

2025-03-26 08:01:22 131

原创 绝对值函数的二阶导数,指数函数(幂为绝对值函数)的二阶导数,delta函数

绝对值函数的二阶导数的计算过程如下。

2024-12-26 07:20:46 257

原创 一道概率题:全集为共N个不同的东西,生成3个东西,每个东西的生成是独立的,这3个中有你想要的一个东西的概率是多少

全集为共N个不同的东西,生成M(M

2024-12-19 07:51:53 216

原创 电磁场convention

来源:EE 5337 Computational Electromagnetics Lecture #2 Maxwell’s Equations。

2024-12-16 06:07:14 112

原创 C++ Eigen::VectorXf和Eigen::VectorXd数据类型转换

【代码】C++ Eigen::VectorXf和Eigen::VectorXd数据类型转换。

2024-11-27 14:02:01 210

原创 一道概率题:共N个不同的东西,从N个里挑出3个各不相同的东西,这3个中有你想要的一个东西的概率是多少

共N个不同的东西,从N个里挑出M个(M

2024-11-22 14:56:18 232

原创 eigen库,2个数组元素相乘需要注意类型相同

【代码】eigen库,2个数组元素相乘需要注意类型相同。

2024-11-20 15:25:45 161

原创 c++ libtorch Eigen矩阵转换为torch张量时数据类型必须一致

Eigen的double矩阵不能从内存拷贝成float张量,必须先转换为float矩阵,再从内存拷贝为float张量。

2024-10-29 10:36:49 269

原创 【无标题】

以上代码,hp是空指针,没有保存,再读取的时候,会崩。

2024-10-23 09:56:04 143

原创 c++ libtorch 如何打印复数tensor

用std::cout会舍去虚部打印,

2024-10-22 17:29:33 247

原创 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 300

原创 c++ libtorch tensor 赋值 浮点数

【代码】c++ libtorch tensor 赋值 浮点数。

2024-10-22 17:23:17 153

原创 c++ libtorch tensor上半部分和下半部分对调

这里注意:从原张量切片来的张量需要深拷贝,再赋值到原张量,才能上下互调。

2024-10-22 17:09:02 145

原创 c++ libtorch 切片 torch::indexing::Slice()的含义

是一个辅助函数,用于创建一个切片对象,这个对象可以用于对Tensor进行切片操作。切片操作允许你选取Tensor中的一个子区域,而不需要复制数据。需要注意的是,切片操作不会改变原始Tensor的数据,而是返回一个新的Tensor,该Tensor与原始Tensor共享相同的数据。函数可以接受几个参数,它们定义了切片的开始、结束和步长。在上面的例子中,我们首先创建了一个5x5的Tensor,然后使用。在LibTorch中,

2024-10-22 17:02:45 515

原创 c++ libtorch tensor 求解本征值和本征向量

返回的是一个元组,其中第一个元素是包含本征值的Tensor,第二个元素是包含本征向量的Tensor。

2024-10-22 16:55:34 122

原创 c++ libtorch tensor 矩阵分块

narrow函数原型为。

2024-10-22 16:50:10 292

原创 c++ libtorch 多维张量和arrayfire 多维数组

第3维度是矩阵的行,第4维度是矩阵的列,以上代码表示生成2*3个4行5列的默认为torch::float32数据类型的随机矩阵。第1维度是矩阵的行,第2维度是矩阵的列,以上代码表示生成4*5个2行3列的默认为f32数据类型的随机矩阵。

2024-10-12 21:05:09 182

原创 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 258

原创 c++ libtorch 创建多维单位张量

3维单位张量,代码示例。4维单位张量,代码示例。

2024-10-12 20:41:59 184

原创 c++ libtorch 如何把std::complex<double>赋值给tensor

要将std::complex<double>转换为c10::complex<double>才能赋值给复数tensor。

2024-10-12 10:00:56 175

原创 c++ libtorch tensor转换为Eigen MatrixXcd

【代码】c++ libtorch tensor转换为Eigen MatrixXcd。

2024-10-12 09:32:31 176

原创 c++ libtorch torch::linalg::solve函数原型里的bool参数

BOOL参数是指第一个参数的逆是在第二个参数的左边还是第二个参数的右边,左边是true, 右边是false。torch::linalg::solve函数原型为。

2024-10-12 09:11:24 153

原创 torch::matmul函数支持广播规则

函数进行张量相乘,并且它支持广播规则。对于4维张量相乘,假设我们有两个张量。,这正是我们想要的结果。这样就不需要手动循环每个。的最后两个维度视为矩阵的列和行,进行矩阵乘法。在C++的LibTorch中,可以使用。可以直接进行批量矩阵乘法,不需要循环。的最后两个维度视为矩阵的行和列,而。函数自动处理了广播规则,它将。函数将处理剩余的前导维度(会自动为我们完成这个操作。),进行批量矩阵乘法。

2024-10-12 08:57:56 275

原创 c++ arrayfire af::span

在 ArrayFire 中,af::span是一个特殊的对象,它用于表示数组的全部范围。当你想要选择数组的一个维度中的所有元素时,可以使用af::span。以下是一些使用af::span。

2024-10-05 11:22:02 203

原创 c++ arrayfire array初始化

array是列存储优先的,和Eigen库的Matrix一样也是列存储优先的。上面有array类的各个成员函数。

2024-10-03 11:09:06 287

原创 c++ arrayfire supported data types

【代码】c++ arrayfire supported data types。

2024-10-03 10:55:05 348

原创 c++ arrayfire库,两个多维数组元素相乘的注意点

需要注意的是,进行元素相乘的两个数组必须具有相同的维度,或者至少是广播兼容的。广播规则允许在某个维度上尺寸为1的数组与尺寸更大的数组进行操作。在 ArrayFire 中,元素相乘(也称为逐元素乘法或哈达玛乘法)可以通过。是两个随机生成的四维数组,它们具有相同的维度。函数来计算它们的元素相乘结果,并将结果存储在数组。运算符来进行元素相乘。

2024-10-03 10:50:23 279

原创 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 178

原创 c++ arrayfire库 矩阵分块,上下分块对调

【代码】c++ arrayfire库 矩阵分块,上下分块对调。

2024-10-02 21:17:01 126

原创 c++ arrayfire库 af::constant, af::identity, af::randu

【代码】c++ arrayfire库 af::constant, af::identity。

2024-10-02 21:14:53 195

原创 c++ arrayfire库 矩阵分块

【代码】c++ arrayfire库 矩阵分块。

2024-10-02 21:11:59 361

原创 ArrayFire 配置完跑程序没显示的原因

是AF和GPU不兼容。

2024-09-07 10:48:00 124

原创 c++ Eigen库 matrix是列主序优先存储,libtorch库 tensor是行主序优先存储,arrayfire库是列主序优先存储

如题。

2024-09-01 10:34:29 181

原创 MPI_Scatter和MPI_Gather对向量的内层连续数据做集体通信

【代码】MPI_Scatter和MPI_Gather对向量的内层连续数据做集体通信。

2024-08-24 21:39:03 183

原创 torch 学习笔记 1

【代码】torch 学习笔记 1。

2024-08-21 16:54:10 132

原创 mpi程序命令行执行

s.exe是程序名字。

2024-08-19 17:53:18 224

原创 python numpy 统计数组中小于某个数的元素的个数,将数组中小于某个数的元素置0

【代码】python numpy 统计数组中小于某个数的元素的个数,将数组中小于某个数的元素置0。

2024-08-19 17:48:40 251

原创 Eigen::VectorXd默认是列向量,行向量用Eigen::RowVector2d声明

Eigen::VectorXd默认是列向量, 行向量用Eigen::RowVectorXd声明。

2024-08-19 14:55:25 241

原创 c++ LibTorch训练数据集的张量的规定,行数是样本的个数,列数是样本的特征的个数

如果你有一个包含10个样本的数据集,每个样本有3个特征,那么这个数据集的tensor在LibTorch中可能是一个形状为(10, 3)的张量,其中每一行代表一个样本的所有特征。

2024-08-19 14:49:02 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除