自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

基于PI调节的电子负载仪

基于PI调节的电子负载电路,最高10A电流,超高灵敏度和快速动态响应

2015-07-28

常用经典一站式封装库

常用经典一站式封装库,多年工程实践的经验汇总,绝对物超所值

2015-06-17

红外障碍检测

红外障碍检测 HS0038b 运算放大器 比较

2015-04-23

空空如也

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

TA关注的人

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