1 问题描述
在Ubuntu conda环境中运行python代码时会报错:
1 | QObject::moveToThread: Current thread (0x223e600) is not the object's thread |
最近在跑一些模型时需要用到Docker,但出现了无法使用宿主机GPU的情况,在此记录一下解决过程。
首先介绍一下Docker吧,照例,Wiki上的介绍:
Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、更能高效地利用服务器。 容器更多的用于表示软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。
简单来说,Docker可以理解为一个实现原理不同的虚拟机,可以将程序运行需要的环境进行一个整体的打包,然后部署到任何支持Docker的平台上,方便复现与调试。
当前组内开发的程序是基于ROS1进行的,所以需要在本地搭建一个ROS1环境来运行和修改。查阅ROS官网后发现ROS版本与Ubuntu版本有着较为严格的对应关系,根据ROS1版本页面总结的对应关系如下表所示,ROS1官方已经不支持Ubuntu 20.04以后的版本了,Ubuntu 22.04之后只能安装ROS2,而ROS2与ROS1之间还是存在着较大的架构差异的,ROS2并不能向下兼容ROS1。
Ubuntu | ROS | Release date | End of Life (EOL) |
---|---|---|---|
14.04 | Indigo Igloo | July 22nd, 2014 | April, 2019 |
16.04 | Kinetic Kame | May 23rd, 2016 | April, 2021 |
18.04 | Melodic Morenia | May 23rd, 2018 | June 27, 2023 |
20.04 | Noetic Ninjemys | May 23rd, 2020 | May, 2025 |
在介绍MMSegmentation之前首先要介绍一下OpenMMLab,源自官方的介绍:
OpenMMLab(浦视)是上海人工智能实验室的计算机视觉算法开源体系,是深度学习时代全球领域最全面、最具影响力的视觉算法开源项目,全球最大最全的开源计算机视觉算法库,为学术和产业界提供一个可跨方向、结构精良、易复现的统一算法工具库。
OpenMMLab 已经累计开源了超过 30 个算法库,涵盖分类、检测、分割、视频理解等众多研究领域,拥有超过 300 种算法、2,400 多个预训练模型。在 GitHub 上获得超过 72,000 个标星,同时吸引了超过 1,500 名社区开发者参与项目贡献,用户遍及超过 110 个国家和地区,覆盖全国全球顶尖高校、研究机构和企业。
昨天在使用hexo准备新建博文时,突然报错:
Error: Cannot find module ‘./languages/vim’
首先是看到这个名字以为是跟前天把windows上的Vim卸载了有关(但心里还是十分怀疑这个相关性的)。先在Google搜索了该报错语句之后,竟然没有找到有相同报错内容的问题,于是乎死马当活马医,先重装Vim再说,果不其然,没用。
然后查看是否跟安装的主题有关,在themes下的languages中看到了vi.kml,基于Linux下vi与vim的关系继续盲目尝试(心里还是十分怀疑这个相关性的),copy一下该文件并改名为vim.kml,果然还是没用……
最后只好继续在网页大海中遨游,尝试了多种方法之后终于利用该网页中提供的方法解决了该问题,虽然最终也没有搞清楚问题出在哪,但,能用就行。在此记录一下该解决方法:
1 | $ npm uninstall hexo-cli -g |