- 博客(25)
- 收藏
- 关注
原创 10个图像评测指标PSNR/SSIM/MAE/MSE/RMSE/ISSM/SRE/LPIPS/PIQE/NIQE的Python代码计算方式
图像评测指标、PSNR/SSIM/MAE/MSE/RMSE/ISSM/SRE/LPIPS/PIQE/NIQE、Python代码、计算方式、图像处理
2024-12-11 16:35:03
487
原创 RuntimeError: one of the variables needed for gradient computation has been modified by an inplace。。
主要看这一部分[torch.cuda.FloatTensor [16, 1, 96, 96]], which is output 0 of SigmoidBackward0, is at version 1;的赋值是就地改变conv_layer的值,结果是值被覆盖,因此梯度计算失败。解决这个问题的简单方法是使用clone()函数。如果你检查一下这一行(即你使用Sigmoid激活函数的那一层)则是梯度计算被Pytorch中的Sigmoid函数破坏了。方法1:把Sigmoid激活函数换成别的激活函数,如。
2023-06-02 21:28:26
537
1
原创 OSError: [Errno 24] Too many open files:
版权声明:本文为优快云博主「爱的太深,太认真」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/m0_55837832/article/details/116695693。a、ulimit -n 2048(此方法为临时修改,当前有效,退出后就恢复原来设置)果然如我所预想,得到的结果是1024,就是说系统限制为同时打开1024个文件。1、将自己的线程数改小,使之符合这个限制(只是方法)。2、将这个限制值改大。
2023-05-18 15:41:19
1919
原创 TypeError: load() missing 1 required positional argument: ‘Loader‘?
出错描述:使用 yaml 包 时候报错 TypeError: load() missing 1 required positional argument: ‘Loader‘?Yaml 5.1版本之后就弃用了不安全的load加载方式,需要在load方法中加入指定的加载器,或者使用安全加载api, 通过默认加载器使load函数的安全得到加强。如果是用的 conda ,直接 conda list 即可,可以看到 yaml 包的版本是 6.0。降低指定包的版本,确定指定包版本有相关API即可。
2023-05-18 15:03:51
700
原创 python -m torch.distributed.launch --nproc_per_node=8
多GPU启动指令:python -m torch.distributed.launch --nproc_per_node=8 --use_env train_multi_gpu_using_launch.py,指令,nproc_per_node参数为使用GPU数量。我们使用了use_env传入了这个参数,它就会在环境变量中存入一系列参数,包括RANK,WORLD_SIZE,LOCAL_RANK。
2023-05-17 11:21:02
4492
1
原创 跑神经网络,pycharm遇到问题 FileNotFoundError: [Errno 2] No such file or directory:
如果你使用的相对路径,这里要是没改好,指定报错!
2023-05-16 22:36:55
285
原创 端到端是啥
对于CV视觉领域而言,end-to-end一词多用于基于视觉的机器控制方面,具体表现是,神经网络的输入为原始图片,神经网络的输出为(可以直接控制机器的)控制指令。在图像领域,CNN就是一个很典型的端到端结构。输入图像,输出可以做分类,可以做补全,做各种任务。这之中的具体细节都不需要人工干预,这就是End-to-end。端到端指的是输入是原始数据,输出是最后的结果。
2023-04-28 08:59:07
279
原创 【无标题】
(generalization error)= 测试误差(test error),其实就是使用训练数据训练的模型在测试集上的表现(或说性能 performance)好不好。这个看起来很难理解的名词,其实它并没有那么高冷,是很好理解的。正则化便是让棱角变得平滑。我们总会在各种地方遇到。
2023-04-27 23:49:06
50
原创 训练集(train) 验证集(valid) 测试集
训练数据(train)+验证数据(valid):建立模型。(valid):模型选择,辅助模型构建(可选)训练集(train):帮助训练模型,确定。测试数据:检查模型,测试精确度。
2023-04-26 15:37:20
454
原创 model.train() model.eval()
●一般在训练模型时加上model.train(),这样会正常使用Batch Normalization和Dropout。●测试的时候一般选择model.eval(), 这样就不会使用Batch Normalization和Dropout。
2023-04-25 16:20:47
65
原创 卷积神经网络是怎么把图像分为RGB三层的
这是因为图像的存储是一个三维矩阵,包含RGB三种要素的信息,也就是我们所说的三通道。% 第一幅图的G B通道的灰度值全部变成0 这样就只有R通道的了。上面的代码是分别对R G B进行了采样,所以会得到三张图片。出现了三张图片,但是感觉应该只有一张啊。那么怎样得到三通道分别的图像呢?%提取图像三通道信息。
2023-04-21 13:10:37
284
原创 什么是正则化
(generalization error)= 测试误差(test error),其实就是使用训练数据训练的模型在测试集上的表现(或说性能 performance)好不好。我们无法真正衡量到底是提出问题重要,还是解决问题重要,但我们可以从不同的。正则化,看起来,挺不好理解的,追其根源,还是“正则”这两字在中文中实在没有一个直观的对应,如果能翻译成。,为它安上一个不会产生歧义的名词是必须的,正则化的名称没毛病,只是从如何理解的角度,要灵活和类比。这个看起来很难理解的名词,其实它并没有那么高冷,是很好理解的。
2023-04-21 10:41:58
91
原创 self参数 __ init__ ()方法 super(Net, self).init()
Python中的super(Net, self).__init__()是指首先找到Net的父类(比如是类NNet),然后把类Net的对象self转换为类NNet的对象,然后“被转换”的类NNet对象调用自己的init函数,其实简单理解就是子类把父类的__init__()放到自己的__init__()当中,这样子类就有了父类的__init__()的那些东西。当然,如果初始化的逻辑与父类的不同,不使用父类的方法,自己重新初始化也是可以的。好文不应该被埋没,然后我重新润色的一下,应该被更多的人所熟知!
2023-04-19 21:54:26
894
原创 多卡训练神经网络训练集 batch_size=x 内存分配问题
如果batch_size=8分配到7张卡去跑,主卡会占2个batch_size=1去跑,那么剩下7张卡每张占1个batch_size=1去跑,1、多卡训练对于数据的分配不是智能的,是主卡分最多,其他卡占平均。2、主卡中负担是最大的,各种数据和框架都要在这里面。如果batch_size=8分配到8张卡去跑,那么8张卡每张占1个batch_size=1去跑,不然batch_size=1都不能训练成功,那么再怎么分配都不行。如果一张卡batch_size=1可以跑。那样才有机会去使用多卡训练。
2023-04-19 09:21:21
597
原创 单机多卡训练
model = torch.nn.parallel.DataParallel(DCENet(n=8, return_results=[4, 6, 8]), device_ids = gpu_ids)#重点:自动分配数据。device = torch.device("cuda:4")#设置哪个显卡为主显卡。gpu_ids = [4, 5, 6, 7]#设置用哪几个显卡。#---多卡测试---在这里设置显卡号。
2023-04-18 22:08:34
90
原创 测试时RuntimeError
上次的方法还没解决,不改batchsize,可以考虑下面的方法的链接。.no_grad():,然后报错的那行缩进。这一行报错,就在其上一行加上with。
2023-04-13 09:11:08
231
1
原创 libpng warning: iCCP: known incorrect sRGB profile
遇到了这么一个警告,libpng warning: iCCP: known incorrect sRGB profile。从电脑上看图片没问题,但是如果用opencv去读取的话,就会出现这个警告。要摆脱它,请从 PNG 图像中删除 iCCP profiles。一些应用程序将警告视为错误;如果您正在使用这样的应用程序,则必须删除该块。cv2.imencode('.png',image)[1].tofile(path) #重新编码写入。image = io.imread(path) #path路径。
2023-04-12 22:24:12
647
1
原创 RuntimeError: CUDA out of memory.
清除pytorch无用缓存,引用库,在循环代码里总加入如下代码,亲测有效import torch, gcgc.collect()torch.cuda.empty_cache()
2023-04-12 10:32:26
434
1
原创 ValueError: negative dimensions are not allowed
主要问题出在这里,需要根据图片格式改成jpg或png。
2023-04-11 23:53:37
1939
1
10个图像评测指标PSNR/SSIM/MAE/MSE/RMSE/ISSM/SRE/LPIPS/PIQE/NIQE的代码计算方式
2024-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人