
pytorch 深度学习 基础
pytorch 深度学习 基础
nachifur
数字图像处理、计算机视觉、matlab、python
深度学习、pytorch
ubuntu、网络配置、
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pytorch 模型下载,from torchvision.datasets.utils import download_url不能下载模型,如何代理
如果目标 URL 包括 HTTPS,确保设置 https 的代理。使用 build_opener 构建带有代理的处理器。设置 http 和 https 的代理地址。原创 2024-12-04 14:58:37 · 562 阅读 · 0 评论 -
MACs 和 FLOPs 有什么区别?如何计算?
一、MACs 和 FLOPs 有什么区别?FLOPs is abbreviation of floating operations which includes mul / add / div … etc.MACs stands for multiply–accumulate operation that performs a <- a + (b x c).12二、如何计算?安装thoppip install thoppytorch使用thop:3from torchvision.mo原创 2021-10-15 21:35:19 · 4535 阅读 · 4 评论 -
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1
一、了解nn.DataParallelhttps://zhuanlan.zhihu.com/p/102697821二、报错的几种原因2.1 cuda:0 and cpu!简单的将没有转移到gpu的参数转移即可。例如,xx.to("cuda")2.2 cuda:1 and cuda:0!可能存在有一些参数,不能使用nn.DataParallel自动分配到多个gpu。检查是否有自定义的tensor,注意:不能是Variable,必须是Parameter。...原创 2021-07-22 20:18:53 · 4800 阅读 · 2 评论 -
tensorboard安装 pytorch
pytorch 1.1以上仅需安装tensorboard即可,不需要tensorboardXpip install tensorboard原创 2021-06-26 23:18:38 · 1085 阅读 · 2 评论 -
pytorch 快速测试网络结构
模拟网络的输入,然后在run.py文件中导入相应的包。# run.py import torchif __name__=='__main__': model = ghostnet() model.eval() print(model) input = torch.randn(32,3,320,256) y = model(input) print(y.size())原创 2021-06-21 23:28:26 · 574 阅读 · 0 评论 -
pytorch 自动计算模型参数量、FLOPs
现介绍一款自动计算模型参数量、FLOPs、乘加数以及所需内存等数据的轮子:torchstat。使用方法如下:1.安装:pip install torchstat2.使用:import torch from torchstat import stat import torchvision.models as models net = models.vgg11() stat(net,(3,224,224)) #原创 2021-06-05 16:08:33 · 882 阅读 · 0 评论 -
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
现象: 统一程序 titan rtx运行没有问题,3090在运行一会之后报错,而且每次报错的位置一样。解决:既然可以3090可以运行一会,应该软件的配置没有问题。那么问题出在什么哪里?我的问题是显存,采用变分辨率的输入,导致显存一直跳来跳去。而且采用的loss复杂,应该是显存不够导致期间发生错误。 在调小输入的分辨率,问题解决。...原创 2021-04-03 15:42:52 · 1222 阅读 · 6 评论 -
ubuntu 18.04 nvidia 驱动安装 apt 更新驱动 cuda 旧版本下载 cuda文档
以cuda11为例,选择deb(local)文件即可。run文件用于离线下载wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pinsudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600wget https://developer.download.nvidia.co原创 2020-08-26 19:16:20 · 1218 阅读 · 0 评论 -
nvidia linux ubuntu 显卡驱动持久化
新建驱动持久化服务文件:sudo vim /etc/systemd/system/nvidia-persistenced.service填写以下内容:[Unit]Description=NVIDIA Persistence DaemonWants=syslog.targetStopWhenUnneeded=true[Service]Type=forkingExecStart=/usr/bin/nvidia-persistenced --user nvidia-persistenced原创 2021-03-04 17:26:56 · 2399 阅读 · 2 评论 -
conda 导出环境 导入环境 yaml
导出当前环境:conda env export > pytorch17.yaml根据pytorch17.yaml,在新的机器上创建环境conda env create -f pytorch17.yaml原创 2020-12-24 10:34:05 · 11789 阅读 · 0 评论 -
深度学习顶会论文 复现 tensorflow代码转pytorch 吐血入门经验
1. 前言我想把一个TensorFlow代码转为pytorch代码,深度学习的代码。经过一个月的调试。。。。。自己好垃圾啊。。。2.目标将这个阴影去除的tensorflow代码转pytorch。3.过程阅读需要复现的原文很快啊,就一天可能就把TensorFlow的网络结构照猫画虎的写成了pytorch然后就进入了无限调bug阶段。。。持续两周左右最后想要放弃的时候,打算搭建TensorFlow的环境跑作者提供的代码,这时灵光一现,发现了自己哪里写错了。。。4.建议的过程网络结构或许很原创 2020-12-17 21:37:31 · 20858 阅读 · 34 评论 -
卷积 全连接 参数量 运算量 tensor的shape
一、卷积与全连接比较1二、卷积的过程与计算1三、卷积与全连接的参数量、运算量参考:卷积神经网络模型参数量和运算量四、tensor的shape2TensorFlow:NxWxHxC(channel last)pytorch:NxCxWxHhttps://nndl.github.io/ ↩︎ ↩︎https://blog.csdn.net/qq_39622065/article/details/81228915 ↩︎...原创 2020-12-09 15:23:05 · 645 阅读 · 0 评论 -
生成对抗网络 原理 公式与代码
1. 生成对抗网络的概念与公式1我们没次看生成对抗的公式,都会出现一个疑问,每次看懂之后,过一段时间遇到,还是得看半天,md,这一次记录下来!1.1 判别网络有疑惑的是: 13.30式,作者说判别网络的目标函数是最小化交叉熵。我对于交叉熵的第一印象来源于相对熵,相对熵越小,两个分布的差异越小,交叉熵与相对熵差一个常数,所以交叉熵越小,两个分布的差异越小。所以这里作者说判别网络的目标函数是最小化交叉熵,我第一反应是让生成的和真实的差异越小。我擦,判别网络的目的不是让生成和真实的差异越大吗?上述理原创 2020-10-18 22:29:32 · 2263 阅读 · 1 评论 -
交叉熵损失-二分类与多分类的关系
一、首先了解交叉熵是什么?1二、这个就是多分类中的交叉熵损失函数。三、而二分类中的交叉熵损失一般写成这样:1四、看起来二分类和多分类为什么不一样?貌似不一样,二分类为什么多一项?主要是one-hot向量搞得鬼!如果按多分类中的one-hot,其实是:0:[1,0]1:[0,1]但是二分类,一个维度的数就可以直接区别两个类别,不需要两个维度。所以使用多分类的交叉熵,将第一个维度用第二个维度直接代替就成了我们看到的二分类交叉熵损失函数。现在知道二类中,那个(1−y)log(1−y^)(1-原创 2020-09-02 11:41:17 · 13174 阅读 · 0 评论 -
Assertion `input_val >= zero && input_val <= one` failed.
错误:Assertioninput_val >= zero && input_val <= onefailed.1现象:一般可以运行几次,然后突然报错,这时就是模型跑飞了解决:在每一层cov,使用batch_norm一般可以解决问题https://blog.csdn.net/qq_36022260/article/details/103281358 ↩︎...原创 2020-12-20 13:53:58 · 5093 阅读 · 0 评论 -
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace
编写代码,pytorch出现了这个问题:RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [1, 64, 92, 122]], which is output 0 of LeakyReluBackward0, is at version 1; expected version 0 inste原创 2020-12-19 20:37:11 · 3697 阅读 · 2 评论 -
pytorch BCEWithLogitsLoss pos_weight参数解疑
下面的代码来自Distraction-aware Shadow Detectionclass MyWcploss(nn.Module): def __init__(self): super(MyWcploss, self).__init__() def forward(self, pred, gt): eposion = 1e-10 sigmoid_pred = torch.sigmoid(pred) count_pos原创 2020-10-17 16:59:45 · 7301 阅读 · 8 评论 -
pytorch optimizer backward详解
1. 理解retain_graph=True可以保留梯度图,这样可以使用多次loss.backward()optimizer.zero_grad()清除梯度信息总的流程是:optimizer.zero_grad()清除梯度信息loss.backward()自动计算梯度值optimizer.step()根据梯度值更新网络参数保存网络参数1.1 示例1loss = loss_x2 + loss_x4optimizer.zero_grad()loss_x2.backward(retai原创 2020-09-24 14:40:28 · 1558 阅读 · 0 评论 -
OSError: Can‘t read data (wrong B-tree signature)
我有新的发现,并且可以复现这一结果。h5文件可以多线程操作,但是不能对一个文件频繁操作,在cpu数大于1的情况下,第一次运行程序之后,必须等待几分钟,才可以第二次运行程序。我认为是虽然主程序关闭,但是短时间内多线程并没有被杀死,过一段时间一切顺利。当然我猜想,你可以kill多线程,来实现短时间成功运行第二次程序1对于pytorch,你可以尝试以下数据加载方式: from torch.utils.data import Dataset, DataLoader class H5Dataset(Dat原创 2020-09-23 22:23:19 · 1700 阅读 · 0 评论 -
ubuntu18.04 pytorch 深度学习环境搭建
一、工具安装 sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install make二、禁用nouveau(必须的) sudo gedit /etc/modprobe.d/blacklist.conf 添加 blacklist nouveau sudo update-initra...原创 2019-09-01 19:18:03 · 5765 阅读 · 9 评论 -
pytorch 安装 tensorboard
pip install tensorboard原创 2019-11-12 19:14:33 · 2671 阅读 · 0 评论 -
python cv2.imshow 出错
得安装4.1.0版本的pip install opencv-contrib-python原创 2019-09-13 22:57:07 · 4648 阅读 · 2 评论 -
pytorch unsqueeze与squeeze
import torcha=torch.tensor([0.5,0.6,0.9])a.shapea.unsqueeze(1) #现在 a 是一个维度,在1的位置加一个维度,就是 3 1a.unsqueeze(1).unsqueeze(0).unsqueeze(-4).shape# a 的维度 3# 在1的位置加一个维度,就是 3 1# 然后在0的位置加一个维度,就是 1 3 1#...原创 2019-08-22 13:11:35 · 447 阅读 · 0 评论 -
pytorch detach用法
下面是gan中的一段代码: # process outputs outputs = self(images, edges, masks) gen_loss = 0 dis_loss = 0 # discriminator loss dis_input_real = torch.cat((imag...原创 2019-08-21 14:55:00 · 14586 阅读 · 11 评论 -
pytorch:Reduce failed to synchronize: device-side assert triggered .
在pytorch中,运行模型经常会出现这个错误,这个bug的来源是BCELoss中输入的张量value的范围必须在[0.0,1.0]之类,而有时候模型的输出是超出这个范畴的,因此BCELoss会报错。可以使用下面的解决这个问题:(强行限制到0-1) outputs[outputs < 0.0] = 0.0 outputs[o...原创 2020-08-06 17:09:08 · 625 阅读 · 0 评论