目录
3、Compile cuda extensions under lib/csrc
(4)虽然在data文件夹中新出现一个result文件夹,但里面没有结果文件?
git clone https://github.com/zju3dv/clean-pvnet.git
conda create -n pvnet python=3.7
conda activate pvnet
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch
pip install Cython==0.28.2
sudo apt-get install libglfw3-dev libglfw3
pip install -r requirements.txt
注意:
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch
yacs==0.1.4
numpy==1.21.6
torchvision==0.6.0
opencv-python==3.4.2.17
tqdm==4.28.1
pycocotools==2.0.0
matplotlib==2.2.2
plyfile==0.6
scikit-image==0.14.2
scikit-learn
PyOpenGL==3.1.1a1
ipdb==0.13
cyglfw3==3.1.0.2
pyassimp==3.3
progressbar==2.5
open3d-python==0.5.0.0
tensorboardX==1.2
cffi==1.11.5
transforms3d
pillow==6.2.1
后续安装了transform3d(见第4节)
~/3dTracking/clean-pvnet$ pip install transforms3d
Collecting transforms3d
Using cached transforms3d-0.4.1.tar.gz (1.4 MB)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: transforms3d
Building wheel for transforms3d (setup.py) ... done
Created wheel for transforms3d: filename=transforms3d-0.4.1-py3-none-any.whl size=1376757 sha256=890c7940063b6c9fca40c910e5bafea777f001ed762debc2f5055e2f408dcc54
Stored in directory: /home/rakuli/.cache/pip/wheels/0b/2a/fe/379cf61e108f06750107439af6531daf372d7de2c390a939b4
Successfully built transforms3d
Installing collected packages: transforms3d
Successfully installed transforms3d-0.4.1
lib/csrcROOT=/path/to/clean-pvnet
cd $ROOT/lib/csrc
export CUDA_HOME="/usr/local/cuda-10.2"
cd ransac_voting
python setup.py build_ext --inplace
cd ../nn
python setup.py build_ext --inplace
cd ../fps
python setup.py build_ext --inplace
# If you want to run PVNet with a detector
cd ../dcn_v2
python setup.py build_ext --inplace
# If you want to use the uncertainty-driven PnP
cd ../uncertainty_pnp
sudo apt-get install libgoogle-glog-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install libatlas-base-dev
python setup.py build_ext --inplace
因为我的cuda版本是10.2,所以在export cuda_home的时候修改了路径
这一部分的输出日志较长(因为我还是希望保存一下),见以下链接:https://blog.csdn.net/weixin_54470372/article/details/128293517
从以下链接下载linemod数据集;
ROOT=/path/to/clean-pvnet
cd $ROOT/data
ln -s /path/to/linemod linemod
ln -s /path/to/linemod_orig linemod_orig
ln -s /path/to/occlusion_linemod occlusion_linemod
# the following is used for tless
ln -s /path/to/tless tless
ln -s /path/to/cache cache
ln -s /path/to/SUN2012pascalformat sun
我没有建立软链接,直接将LINEMOD压缩包解压在data文件夹内,文件夹名改为linemod

运行以下命令进行数据集的prepare
python run.py --type linemod cls_type cat
输出日志如下:
~/3dTracking/clean-pvnet$ python run.py --type linemod cls_type cat
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 177/177 [00:00<00:00, 5575.48it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████| 10000/10000 [00:08<00:00, 1139.37it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████| 10000/10000 [00:00<00:00, 11956.80it/s]
100%|█████████████████████████████████████████████████████████████████████████████████████████████| 1002/1002 [00:00<00:00, 6410.46it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████| 1187/1187 [00:00<00:00, 347379.21it/s]
再从以下链接下载名为cat_199.pth文件,保存至data/model/pvnet/cat文件夹内,更改文件名为199.pth
https://1drv.ms/f/s!AtZjYZ01QjphgQBQDQghxjbkik5f

运行以下命令进行测试
python run.py --type evaluate --cfg_file configs/linemod.yaml model cat cls_type cat
python run.py --type evaluate --cfg_file configs/linemod.yaml test.dataset LinemodOccTest model cat cls_type cat
注:
(1)第一次运行时会从pytorch官网下载resnet的预训练文件
(2)由于报错,安装了transform3d
File "lib/evaluators/linemod/pvnet.py", line 19, in <module>
from transforms3d.quaternions import mat2quat, quat2mat
ModuleNotFoundError: No module named 'transforms3d'
(3)由于报错,添加执行权限
RuntimeError: error executing torch_shm_manager at "/home/r**/anaconda3/envs/pvnet/lib/python3.7/site-packages/torch/bin/torch_shm_manager" at /pytorch/torch/lib/libshm/core.cpp:99
解决:
chmod +x /home/r*/anaconda3/envs/pvnet/lib/python3.7/site-packages/torch/bin/torch_shm_manager
(4)出现以下报错
cublas runtime error:the GPU program failed to execute at /pytorch/aten/src/THC/THCBlas.cu:450
查了一下大多数回答说是torch版本不匹配的问题,我的gpu是rtx2060,cuda版本是10.2,走投无路试着升级torch的版本
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch
接着重新执行第3步,注意先需要删除lib/csrc/ransac_voting文件夹中的build和__pycache__两个文件夹。升级torch后的命令如下

终于终于终于成功运行。输出太长了,只截取结尾部分

python run.py --type visualize --cfg_file configs/linemod.yaml model cat cls_type cat
运行后会自动弹出结果

目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c
TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是
TCP是面向连接的协议,连接的建立和释放是每一次面向连接的通信中必不可少的过程。TCP连接的管理就是使连接的建立和释放都能正常地进行。三次握手TCP连接的建立—三次握手建立TCP连接①若主机A中运行了一个客户进程,当它需要主机B的服务时,就发起TCP连接请求,并在所发送的分段中用SYN=1表示连接请求,并产生一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x。主机B收到A的连接请求报文,就完成了第一次握手。客户端发送SYN=1表示连接请求客户端发送一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x②主机B如果同意建立连接,则向主机A发送确认报
本人是音乐爱好者,从小就特别喜欢那个随着音乐跳动的方框效果,就是这个:arduino上一大把对,我忍你很久了,我就想用mpy做,全网没有,行我自己研究。果然兴趣是最好的老师,我之前有篇博客专门讲音频,有兴趣的可以回顾一下。提到可视化频谱,必然绕不开fft,大学学过这玩意,当时一心玩,老师讲的一个字都么听进去,网上教程简略扫了一下,大该就是把时域转频域的工具,我大mpy居然没有fft函数,奶奶的,先放着。音频信息如何收集?第一种傻瓜式的ADC,模拟转数字,原始粗暴,第二种,I2S库,我之前博客有讲过,数据是PCM编码。然后又去学PCM编码,一学豁然开朗,舒服,以代码为例:audio_in=I2S
我经常使用Rubygemclean命令来保持本地gem存储库的良好状态。但是,由于依赖性问题,很多时候该命令会返回如下提示:XXXXX-1.0.6dependson[YYYYYY(~>0.8.4)]Ifyouremovethisgems,oneormoredependencieswillnotbemet.ContinuewithUninstall?[Yn]虽然这很简单,但它需要手动干预(对于[Yn]响应),因此这阻止了我创建一个简单的cron脚本来自动化这个过程。关于如何为这些gem提示设置默认响应有什么想法吗? 最佳答案 你应该有
VXLAN简介定义RFC定义了VLAN扩展方案VXLAN(VirtualeXtensibleLocalAreaNetwork,虚拟扩展局域网)。VXLAN采用MACinUDP(UserDatagramProtocol)封装方式,是NVO3(NetworkVirtualizationoverLayer3)中的一种网络虚拟化技术。目的随着网络技术的发展,云计算凭借其在系统利用率高、人力/管理成本低、灵活性/可扩展性强等方面表现出的优势,已经成为目前企业IT建设的新趋势。而服务器虚拟化作为云计算的核心技术之一,得到了越来越多的应用。服务器虚拟化技术的广泛部署,极大地增加了数据中心的计算密度;同时,为
目录一、原理部分1、什么是串行通信(1)并行通信与串行通信(2)串行通信的制式(3)串行通信的主要方式 2、配置串口(1)SCON和PCON:串行口1的控制寄存器(2)SBUF:串行口数据缓冲寄存器 (3)AUXR:辅助寄存器编辑(4)ES、PS:与串行口1中断相关的寄存器(5)波特率设置 3、串口框架编写二、程序案例一、原理部分1、什么是串行通信(1)并行通信与串行通信微控制器与外部设备的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信和串行通信。并行通信:数据的各位同时发送与接收,每个数据位使用一条导线,这种方式传输快,但是需要多条导线进行信号传输。串行通信:数据一位一
这篇文章,主要介绍如何使用SpringCloud微服务组件从0到1搭建一个微服务工程。目录一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件(2)微服务依赖1.2、搭建注册中心(1)引入依赖(2)配置文件(3)启动类1.3、搭建配置中心(1)引入依赖(2)配置文件(3)启动类1.4、搭建API网关(1)引入依赖(2)配置文件(3)启动类1.5、搭建服务提供者(1)引入依赖(2)配置文件(3)启动类1.6、搭建服务消费者(1)引入依赖(2)配置文件(3)启动类1.7、运行测试一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件这里主要是使用的SpringCloudNetflix
目录文章信息写在前面Background&MotivationMethodDCNV2DCNV3模型架构Experiment分类检测文章信息Title:InternImage:ExploringLarge-ScaleVisionFoundationModelswithDeformableConvolutionsPaperLink:https://arxiv.org/abs/2211.05778CodeLink:https://github.com/OpenGVLab/InternImage写在前面拿到文章之后先看了一眼在ImageNet1k上的结果,确实很高,超越了同等大小下的VAN、RepLK