- 博客(31)
- 资源 (3)
- 收藏
- 关注
原创 ValueError: optimizer got an empty parameter list
出现这个情况是不正常的,因为我定义了alpha和beta两个可学习变量。在我仔细排查后发现,在定义那2个变量时不能加.cuda()我通过询问GPT4.0, chatGPT,检查了。这个也许是pytorch的隐藏bug吧。然而,在我定义如下的优化器时,等一系列,但还是没能解决问题。改为以下代码后就正常了。
2024-02-28 17:38:31
543
原创 RuntimeError: CUDA error: an illegal memory access was encountered
在跑一个Transformer的代码时,出现了这个错误。这个错误信息非常奇怪,通过Debug发现,模型的前向传播是正常的,损失也能计算出来,但是一开始反向传播就出问题了。经过尝试,发现是batch_size过大,把它改小就可以了。
2023-06-29 14:39:28
380
原创 Windows10安装rdkit
之前我尝试使用WIndows10从源码编译安装rdkit,但是尝试了很久都失败了。于是,我又重新尝试使用conda安装。最终,我换了个思路,终于顺利安装成功rdkit和pyg了。我的python版本是3.8.13,亲测可以成功安装。最后,我们再安装PyG。参考下面的命令就可以顺利安装。安装torch后测试,可以使用GPU运算。安装完之后,再安装torch,可以参考。创建一个新的conda环境,然后运行。...
2022-08-02 13:22:08
658
原创 Windows10源码编译安装RDKit
RDKit是一个非常重要的库,可是它的安装却非常不友好。我尝试了使用conda安装,但是按照博客上写的方法,都无法安装。因此,我只好硬着头皮按照RDKit官网上提供的方法安装。RDKit是由C++语言编写的,因此在WIndows下的安装需要从源代码进行编译,困难重重。下面是我的安装教程。......
2022-08-01 23:06:31
744
1
原创 docker更换为国内的镜像源
为了提高镜像的下载速度,我们需要将docker的镜像更换为国内的源,方法很简单cat > /etc/docker/daemon.json << EOF{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]}EOF然后systemctl restart docker可以通过docker info查看是否成功更换源...
2020-12-27 18:11:04
1513
1
原创 对python的package进行修改
很多时候,python提供的大量的package极大地方便了我们的编程。但是,当我们想要修改部分代码的时候,该怎么办呢?本文以mmcv为例,介绍修改代码的过程。# 找到package所在的路径在此之前,我是通过...
2020-11-08 21:38:51
6903
1
原创 unable to access device Ubuntu下无法打开硬盘
我的4TB希捷移动硬盘在Windows下能够正常读写,虽然比平时稍显卡顿一些,但是在Ubuntu下无法打开,提示“unable to access Seagate device”。硬盘没有被晒过,可以排除物理损坏。出现这个问题的原因可能是我几次,没有退出硬盘就直接拔掉了USB接口有关。一开始我用了Windows自带的硬盘修复工具,非常慢,而且没啥用。后来,我在网上看到了一个命令,非常简单,非常好用。在Windows操作系统下,打开cmd,进入命令行,输入CHKDSK /F *:*为移动磁盘盘符例
2020-11-05 23:20:23
1005
1
原创 Pytorch nn.Linear() 使用示例
由于我之前一直用Keras,感觉Keras中的Dense()层非常好用,可以非常方便地进行全连接操作。这次需要用到Pytorch中的全连接层,一开始还不太会用,但是仔细研究后发现,其实两者殊途同归,方法很相似。当我们需要将形如[batch_size, 18, 1, 1]的张量全连接操作后分别得到[batch_size, 18, 16]和[batch_size,1]的张量,该如何操作呢?[batch_size, 18, 16]class my_network(nn.Module): def __
2020-11-04 09:51:45
1297
1
原创 调用mmdetection框架代码进行COCO数据集加载
mmdetection目标检测框架提供了非常方便的数据集加载接口,只需要简单地修改几个参数,就可以配置不同的数据预处理方式。如果我们需要用COCO数据集进行除目标检测之外其他的计算机视觉方法研究,需要使用到COCO数据集,如何进行数据集加载呢?为了避免重复造轮子,本文提供了一种利用mmdetection框架代码的方法,只需要简单几行代码就可以实现数据加载。from mmdet.datasets.coco import CocoDatasetfrom functools import partialfr
2020-11-03 22:24:38
906
1
原创 COCO数据集的加载过程
在mmdetection框架中,数据集的加载是一个非常重要的过程。 在之前的博客中,我主要讲解了pipeline,本文将更进一步,向更底层深入,讲解COCO数据集在进行pipeline处理之前的加载过程。在mmdet/datasets/coco.py中,定义了CocoDataset这个类,这个类是继承自CustomDataset(我的博客中介绍分析了这个类)。我将这个类的部分代码展示在下面@DATASETS.register_moduleclass CocoDataset(CustomDataset)
2020-10-31 22:43:26
1674
原创 pycocotools的COCOeval的stats实例属性
pycocotools提供的COCOeval非常方便,可以让我们计算目标检测结果的mAP.一般常见的代码是cocoEval.evaluate()cocoEval.accumulate()cocoEval.summarize()会将最终的计算结果在终端输出,如下图所示如果我们想将最终的结果返回,该怎么做呢?我在认真阅读了pycocotools/cocoeval.py的源代码,发现在COCOeval类中定义了stats实例属性,cocoEval.summarize()函数中给stats
2020-10-28 17:53:40
2582
2
原创 在python程序被终止的“弥留之际”再执行最后一段代码
对于深度学习训练或者验证过程,由于数据太多,很多时候我们等不及程序执行完毕就直接“Control+C”终止了程序运行。但是,我们还想程序在结束运行之前,清理一下环境,删除一些文件。于是,我们可以用下面的方法完成,非常简单。无论按了多少次“Control+C”,都不用担心,下面的代码都能成功执行。import atexitimport glob@atexit.registerdef clean(): print('-'*100) print('clean up the envir
2020-10-28 16:22:35
1191
原创 COCOeval 计算一张图像的mAP 目标检测
pycocotools提供了COCOeval,可以让我们方便地计算coco数据集的mAP。然而,如果我们只想计算少量图像的mAP,该如何做呢?coco2017数据集由训练集、验证集、测试集组成。训练集中一共拥有118287张图像,验证集中有5000张图像,测试集中有40670张图像。训练集的annotations文件的大小为469.8MB,验证集的annotations文件的大小为20MB,测试集的annotations文件没有提供。如果我们手动分割训练集或者验证集,需要额外的处理,很不方便。因此,本文提
2020-10-27 22:15:20
2677
2
原创 mmdetection中的pipeline
首先,我们要明确2个不同的对象。在train.py中,先进行的是build_dataset然后是build_dataloader。需要注意的是输入图像resize等图像预处理工作和pipeline都是在build_dataset阶段完成的,相反build_dataloader阶段做的事儿很少(mmdet/datasets/loader/build_loader.py)\在研究pipeline之前,需要先研究mmdet/datasets/coco.py,我之前就是漏了这一个部分,直接去研究pipeline
2020-10-24 17:47:19
2475
1
原创 mmdetection遇到ValueError: ctypes objects containing pointers cannot be pickled
问题描述:在使用mmdetection进行训练时,使用单个GPU可以正常训练,当我尝试使用2个GPU分布式训练,产生了奇怪的报错:ValueError: ctypes objects containing pointers cannot be pickled运行环境mmcv (0.2.16)mmdet (1.0rc0+unknown, /home/DCTNet/segmentation)torch (1.4.0)torchvision (0.5.0)CUDA 10.1问题解决
2020-10-21 22:51:34
3408
4
原创 Ubuntu18.04 黑屏闪烁无法开机 解决办法 清理根目录
问题描述:我的电脑是双系统,在前一次Ubuntu关机后再次开机无法进入,一直卡在下图的地方,画面一直闪烁,显卡温度很高,温度飙升。第一次遇到这么诡异的问题,我手足无措,不知道哪里出了问题。一开始看到显卡的异常表现,以为是显卡驱动出现了问题,网上找了很多资料也没有用。在我冷静分析之后,我突然想到了上一次关机前的系统提升。系统提示我的空间不足,我当时手动删除了一两个大的文件,就没有放在心上,直接就关机了。我突然想到,Ubuntu无法正常开机或许就与硬盘空间不足有关。1.进入Ubuntu的re
2020-10-20 21:50:19
6278
原创 DCTNet目标检测环境配置
最近我在研究CVPR2020的一篇论文:《Learning in the Frequency Domain》,这篇文章的创新点在于将RGB图像进行DCT变换,然后只用其中一部分通道送入图像分类和目标检测网络,在大大降低网络计算量的情况下,仍能够保持原有的性能。作者提供了源代码,我想复现一下目标检测部分的内容。DCTNet中的目标检测使用的是mmdetection框架,本文主要介绍的是如何搭建这个环境并成功运行测试代码,包括了我在搭建过程中遇到的报错以及解决方法。第一步 下载docker镜像随着容
2020-10-15 19:35:29
1000
原创 model.fit 无法输入生成器的数据
history = model.fit(x=next(batch_generator_X), y=[next(batch_generator_y), domain_labels], epochs=epochs, callbacks=callbacks)对于Tensorflow2.0+Keras,使用Keras函数式API可以非常高效便捷地搭建网络,但是会丧失一些灵活性。比如输入训练数据,只能...
2020-02-10 14:08:47
744
1
原创 路由器桥接设置 信号扩展
老家的房子比较大,一个无线路由器很难做到全覆盖。为了解决这个问题,我尝试了以下几种方法。第一 使用WiFi扩展器优点:简单方便,哪里信号弱就插在哪里。由于是USB供电,而且体积小巧,所以非常方便。不过需要注意的是,扩展器使用的位置不能距离原无线路由器太远,也不能太近。太远,扩展器把信号是增强了,但是网速还是很慢;太近,扩展器和原来的路由器会相互干扰。只有在一个恰当的位置才能发挥出最大的作用...
2020-02-09 14:38:33
1244
原创 TensorFlow2.0 TypeError: 'list' object is not callable
在写TensorFlow2.0的程序时,采用Keras函数式API搭建模型,model.summary()可以正确生成模型表格,可是训练了一个epoch后就提示TypeError: 'list' object is not callable,也没有别的报错。一开始,我以为是我训练数据提供model.fit()有问题,主要精力都用在了排查数据集是否有问题。经过漫长时间的研究,还是报错。最后,...
2020-02-08 20:51:03
580
原创 Windows下YOLOv3的python接口
通常来说,在linux系统上,使用yolo官方提供的darknet代码编译,同时使用它提供的python例程代码就可以运行yolo网络。在Windows下,使用AlexeyAB贡献的C++版yolo代码,也可以运行,而且他还提供了将yolo编译成.dll的工程(CPU版本和GPU版本都有),非常方便。本文的目的在于提供在Windows下python版本的yolo调用接口。众所周知,Window...
2019-07-22 12:00:55
3362
6
原创 Ubuntu 18.04.2 LTS 安装 caffe
参考文档:https://blog.csdn.net/yhaolpz/article/details/71375762在安装过程中,遇到了一些问题,分享如下1. 需要在build之前,调整gcc g++的版本在命令行逐行输入下面的命令:sudo apt-get install gcc-5sudo apt-get install g++-5cd /usr/binsudo ...
2019-03-22 22:24:28
524
原创 github push失败问题
很多时候,当在本地完成了一个项目工程,准备将项目上传到github时会遇到push失败的问题。以我自己为例,当我在pycharm完成了项目工程时,准备上传时,报错:push to origin/master was rejected by remote解决思路:1. 首先需要在github上创建一个代码仓库,在创建仓库时会自动引导你写好README.md2.在本地git clone你刚...
2019-03-06 13:56:21
2516
原创 ST-GCN网络安装过程中遇到的问题
ST-GCN网络:https://github.com/yysijie/st-gcn问题一:在安装完环境和依赖,准备运行demo程序时,报错:VideoCapture (IP camera/video) could not be opened for path: 'examples/media/video.avi'.由于ST-GCN在运行时,先要调用运行OpenPose,所以这个问...
2019-02-26 10:27:15
3935
6
原创 OpenPose安装过程中遇到的问题及解决办法
参考的博客:https://blog.csdn.net/qq_35468937/article/details/81514198,按照博客上的步骤操作,但是在安装过程中还是遇到了问题。我遇到的这些问题都非常诡异,谷歌、github issue上都没有类似的问题。苦思冥想,多次实验,终于找到了原因和解决办法。操作系统:Ubuntu 18.04 LTS 64位已安装的CUDA版本:CUDA9....
2019-02-25 23:19:15
14838
13
原创 Secure Reliable Transport Protocol SRT协议
最近,在研究低延迟视频传输课题时接触到了SRT协议。SRT是一个时下非常受欢迎的开源低延迟视频传输协议。SRT是Secure Reliable Transport的简称。它拥有三大特点,安全,可靠,低延迟。安全方面,SRT支持AES加密,保障端到端的视频传输安全。可靠性方面,SRT通过前向纠正技术(FEC)保证传输的稳定性。低延迟方面,由于SRT建立在UDT协议之上,解决了UDT协议传输延迟高的问...
2019-01-30 16:51:14
4872
1
原创 低延迟视频传输 UDP JPEG图像压缩 opencv
有幸参加了创新工场DeeCamp2019的冬令营活动。在为期七天的时间里,我们五人小组需要完成一个低延迟视频传输系统。这个项目由Momenta公司负责指导,应用场景是未来无人驾驶汽车上的低延迟视频传输。课题要求视频传输延迟在300ms以内,720p.在了解了这个项目的具体要求后,我搜集了相关的资料。在github上找到了一个SRT协议,这个协议是最近提出的,主打低延迟、网络波动的环境下的视...
2019-01-25 11:45:10
4850
2
原创 Latex的\cite后面的参考文献显示问号 [?]
我用的是texlive2017-20170524光盘映像文件安装的TeXworks.模板使用的是IEEE trans。每次编译时都是选择的用pdfLaTeX编译,但是这样在参考文献处会出错。当我需要在文中插入参考文献时,按照网上的方法,创建bib文件,然后在latex中写\cite{}.可是,使用这个方式得到的pdf文件中,参考文献没有在文末列出来,而且生成的参考文献序号是[?].后来尝试...
2018-12-07 19:29:13
56556
21
原创 从零开始安装双系统Ubuntu18.04、CUDA、cuDNN、TensorFlow-GPU
目录0 写在开头1 安装双系统——Ubuntu18.041.1 制作Ubuntu18.04的启动U盘1.2 创建磁盘分区1.3 安装Ubuntu3 安装NVIDIA显卡驱动4 安装CUDA4.1 手动进行降级4.2 安装CUDA及其补丁4.3 测试CUDA是否安装成功5 安装cuDNN5.1 下载5.2复制cuDNN内容到CUDA相关文件夹内...
2018-08-25 20:08:00
4296
原创 基于深度学习的人脸表情实时检测(一)
最近,我fork了GitHub上的一个深度学习的开源项目,项目链接为:https://github.com/oarriaga/face_classification我的系统环境是虚拟机Ubuntu18.04,Python3.6.5,使用的开发环境是pycharm-2018.1.4专业版。本项目所需要的环境配置请见我之前的技术博客:https://blog.csdn.net/blgpb/arti...
2018-06-25 00:41:53
9017
18
原创 Ubuntu 18.04 Python3.6.5 安装opencv2-python
大家好,这是本人在CSDN分享的第一篇技术博客。在fork一个GitHub开源项目时,需要安装opencv2-python环境,安装过程进行到最后遇到了无法“import cv2”的问题。折腾了好长时间,终于找到了解决办法。现将完整步骤写下。 在Ubuntu 18.04环境下,默认安装好了Python3.6.5,但是没有安装Python2版本。 第一步,安装需要的pack...
2018-06-23 10:40:36
6004
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人