草庐IT

Pytorch-CUDA

全部标签

pytorch--常见的Tensor操作

这里写目录标题创建张量:张量形状和维度操作:张量索引与切片:张量运算:Autograd操作:逐元素操作归并函数比较线性代数以下是一些常见的张量操作示例:创建张量:importtorchx=torch.tensor([1,2,3])#从列表创建张量y=torch.zeros(2,3)#创建一个全零张量z=torch.randn(3,3,requires_grad=True)#创建一个正态分布张量并启用梯度追踪张量形状和维度操作:x.size()#获取张量的形状y.shape#获取张量的形状(和size()相同)y.dim()#获取张量的维度y.view(3,2)#改变张量的形状y.unsquee

pytorch 中 dim 的-1,0,1,2 的意义 详解

对于3维矩阵,dim为-1时 与dim为2时的效果是一样的。dim为0时 从0维度,下图 是三维实例 图的目的是 可以由一个想象的空间。下面代码与上图关系不大>>>ab=torch.tensor([[[0,1,2,3],[1,2,3,4]],[[2,3,4,5],[4,5,6,7]],[[5,6,7,8],[6,7,8,9]]])>>>abtensor([[[0,1,2,3],[1,2,3,4]],[[2,3,4,5],[4,5,6,7]],[[5,6,7,8],[6,7,8,9]]])>>>ab.shape#ab的形状尺寸torch.Size([3,2,4])>>>ab.size()#ab的

【pytorch函数笔记】torch.sum()、torch.unsqueeze()

1.torch.sumtorch.sum(imgs,dim=0)#按列求和torch.sum(imgs,dim=1) #按行求和imgs=torch.Tensor([iforiinzip(range(10),range(10))])print(imgs)s1=torch.sum(imgs,dim=0)#按列求和s2=torch.sum(imgs,dim=1)#按行求和print(s1)print(s2)2.torch.unsqueeze将每个图像张量的维度扩展,即在每个图像张量的最前面添加一个额外维度,以匹配模型的输入形状要求。 torch.unsqueeze(i,dim=0) #按dim=0

CUDA 的卸载

问题来源    对于刚接触人工智能领域不久的我而言,装CUDA等一些跑模型需要用到的工具是一件痛苦的事,稍不注意就会导致版本依赖问题,最终可能会需要你把前面安装的东西都卸载掉并重新下载,故本文记录如何卸载CUDA使得卸载干净。解决方案    本文的卸载工具采用window自带的控制面板,首先打开控制面板,看到很多关于NVIDIA的应用,不知从何下手,这里需要注意,有三个应用不能卸载,分别是NVIDIA的图形驱动程序、NVIDIAPhysx系统软件与NVIDIAGeForceExperience,接着按照安装时间排序,在临近时间内的其他关于NVIDIA应用均可删除,如下图所示。    卸载完成后

Orin 安装CUDA CUDNN TensorRT Opencv和输入法的环境配置

有两种方法可以安装CUDA环境第一种方法-用命令按照在刷机完成的Orin,执行如下命令:sudoaptupdatesudoaptupgradesudoaptinstallnvidia-jetpack-y注释–如果在执行第三行命令,报错的话,先查看nvidia-l4t-apt-source.list将其修改为修改完后,重新执行上面那三行命令CUDA检查是否安装成功运行命令nvcc-V输出结果nvcc:NVIDIA(R)CudacompilerdriverCopyright(c)2005-2021NVIDIACorporationBuiltonThu_Nov_11_23:44:05_PST_202

Pytorch安装问题:Solving environment 一直循环/Solving environment: failed with initial frozen solve

Solvingenvironment:一直循环/Solvingenvironment:failedwithinitialfrozensolve.在网上找了半天的资料。更新conda,更换国内源,去掉conda安装命令中的-cpytorch都试过了,还是一直停在solvingenvironment步骤。最后找到了最简单实用的方法,直接使用anaconda环境下自带的pip安装,完美运行。不过我是在更换国内源后才用pip安装的,不知道有咩有影响。这里也把换国内源的过程贴出来condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/an

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is Fal

今天在跑yolov7的时候遇见,模型加载问题,因为我是使用CPU来加载pt模型的,但是出现了错误;RuntimeError:AttemptingtodeserializeobjectonaCUDAdevicebuttorch.cuda.is_available()isFalse.IfyouarerunningonaCPU-onlymachine,pleaseusetorch.loadwithmap_location=torch.device('cpu')tomapyourstoragestotheCPU.模型是使用CUDA跑的,但是加载是使用CPU加载的,报错的意思就是需要是需要反序列化加载,

Pytorch入门:Tensor加减乘除矩阵运算

Tensor加法:a=torch.tensor([1,2,3])b=torch.tensor([4,5,6])c=a+bprint(c)#tensor([5,7,9])c=torch.add(a,b)print(c)#tensor([5,7,9])c=a.add(b)print(c)#tensor([5,7,9])Tensor减法:a=torch.tensor([1,2,3])b=torch.tensor([4,5,6])c=a-bprint(c)#tensor([-3,-3,-3])c=torch.sub(a,b)print(c)#tensor([-3,-3,-3])c=a.sub(b)pr

RuntimeError: CUDA out of memory See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

报错:Ifreservedmemoryis>>allocatedmemorytrysettingmax_split_size_mbtoavoidfragmentation.SeedocumentationforMemoryManagementandPYTORCH_CUDA_ALLOC_CONF当reservedmemoryis>>allocatedmemory,进行如下设置,可解决此bug:代码如下:importosos.environ["PYTORCH_CUDA_ALLOC_CONF"]="max_split_size_mb:128"