linux下安装python环境 + Faster-Rcnn环境配置

news2024/11/24 9:14:28

目录

在Windows上配置环境 

在Ubuntu上配置环境

装虚拟机

全屏问题

中文输入 --- 搜狗输入法

将Windows上文件传输给ubuntu --- winscp

分配内存给根目录

深夜惊魂,ubuntu根目录空间不足 - 知乎

给conda或者pip换源

安装anaconda+python+pycharm 

下载安装anaconda 

下载安装pycharm

配环境

pytorch

pycocotools

VOC2007数据集

组织结构

Annotations

ImageSets

JPEGImages

SegmentationClass

SegmentationObject

跑faster-rcnn


在Windows上配置环境 

因为在这个作者的代码里有resource库,它不支持windows上的运行,并且我看的另外一个作者基于faster-rcnn论文的代码也是建议在Ubuntu或者是Centos上跑,所以在耗了一个下午之后我还是决定搬到Ubuntu上跑faster-rcnn了

解决 No module named 'resource' 问题_yeverwen的博客-CSDN博客

转战Ubuntu了

耗时一个下午主要是在配置过程里出现很多奇奇怪怪的问题,有一个就是torchnet一直安装不成功。

试过多次坑之后总结win10安装torchnet的方法_torchnet怎么导入_在西湖雾雨中起舞的博客-CSDN博客

这是一篇详细的功课博,但最后我的解决方法兜兜转转,在pycharm里面pip install torchnet成功了

在Ubuntu上配置环境

在这里出现了很多悲惨的事情,因为Ubuntu内存不够我直接拓展了磁盘内存,把Ubuntu搞崩了

只能把原来的虚拟机卸载了重新来

装虚拟机

阿里云的ubuntu20.04镜像网站

ubuntu-releases-20.04安装包下载_开源镜像站-阿里云

装虚拟机过程还是比较简单哒,不多赘述了~

还有一些鸡零狗碎的小问题,解决方法记录如下

全屏问题

Ubuntu无法全屏问题完美解决(超简便的方法)_青山青的博客-CSDN博客_ubuntu安装屏幕太小无法全屏

中文输入 --- 搜狗输入法

搜狗输入法官网有教程

搜狗输入法linux-安装指导

唯一一个可能要注意的就是最后装完,要在右上角的键盘设置那里把搜狗输入法提到最上面面

将Windows上文件传输给ubuntu --- winscp

使用WinSCP连接虚拟机主机,提示“网络错误拒绝连接”_winscp网络错误_Jianzhugong_的博客-CSDN博客

分配内存给根目录

深夜惊魂,ubuntu根目录空间不足 - 知乎

ubuntu 16.04根目录磁盘空间扩容(亲测!!)_fire_lgh的博客-CSDN博客_乌班图根目录扩容 

不过我在划分给根内存的时候一开始一直划不过去,看了很多文章划了很多次之后,我顿悟,是我一直都扩容的是盘中盘 

给conda或者pip换源

用本身的conda源下载安装真的真的非常慢,而且一慢就经常超时出错,换源之后速度起飞 

Linux下安装、配置、使用conda环境(教程详细,亲测无误)_linux安装conda_6uv!6!Hz的博客-CSDN博客

安装anaconda+python+pycharm

下载安装anaconda 

在anaconda官网下载linux版本

Linux系统新手指南: 7. Python环境搭建, Anaconda安装, IPython, Jupyter Notebook使用。_哔哩哔哩_bilibili

且anaconda在linux下创建环境使用

注:激活环境使用source activate env_name 

Linux系统 conda 创建python虚拟环境_wldong_9012的博客-CSDN博客

下载安装pycharm

在 Linux 环境下安装 Pycharm_Echo.斜杠青年的博客-CSDN博客_linux安装pycharm

注:在把pycharm安装到桌面的时候,会报错提示没有权限

需要把下面这个命令

gedit /usr/share/applications/Pycharm.desktop

改成

sudo gedit /usr/share/applications/Pycharm.desktop

装完这俩就跟Windows一样配好虚拟环境

配环境

pytorch

在Anaconda下安装Pytorch的超详细步骤_伏城无嗔的博客-CSDN博客_anaconda pytorch

其他都是一样的pip install 

除了这个skimage 应该是 scikit-image

pycocotools

  

安装pycocotools烦死了 - 知乎 

VOC2007数据集

VOC数据集简介与制作_AI路上的小白的博客-CSDN博客_voc数据集 

目标检测数据集PASCAL VOC详解 - 知乎 

PASCAL VOC 2007数据集的简单介绍 - 知乎

VOC2007数据集详细分析_51CTO博客_voc2007数据集 

PASCAL VOC 2007 和 2012 数据集总共分 4 个大类:vehicle、household、animal、person,总共 20 个小类(加背景 21 类),预测的时候是只输出下图中黑色粗体的类别

组织结构

└── VOC2007   #不同年份的数据集
        ├── Annotations        #存放xml文件,与JPEGImages中的图片一一对应,解释图片的内容等等
        ├── ImageSets          #该目录下存放的都是txt文件,txt文件中每一行包含一个图片的名称,末尾会加上±1表示正负样本
        │   ├── Action
        │   ├── Layout
        │   ├── Main           #存放的是分类和检测的数据集分割文件
        │   └── Segmentation
        ├── JPEGImages         #存放源图片
        ├── SegmentationClass  #存放的是图片,语义(class)分割相关
        └── SegmentationObject #存放的是图片,实例(object)分割相关

Annotations

这个文件夹里都是.xml文件,文件名是图像名称,如下图所示。每个文件里面保存的是每张图像的标注信息,训练时要用的label信息其实就来源于此文件夹。

比如在JPEGImages文件下这个000001.jpg图像

对应Annotations里的000001.xml文件

可以看见在这个xml文件里检测出的object分类就是dog和person

ImageSets

这个文件夹里面是图像集合 ,打开之后有3个文件夹:Layout 、 Main、 Segmentation,这3个文件夹对应的是 VOC challenge 3类不同的任务。

其中Main文件夹存放的是用于分类和检测的数据集分割文件,Layout文件夹用于 person layout任务,Segmentation用于分割任务。

Main:每一类别在train或val或test中的ground truth,这个ground truth是为了方便classification 任务而提供的;如果是detection的话,使用的是上面的xml标签文件。

例如aeroplane这个类别

├── Main
│   ├── aeroplane_test.txt 写着用于训练的图片名称 共2501个,指定正负样本
│   ├── aeroplane_train.txt 写着用于验证的图片名称 共2510个,指定正负样本
│   ├── aeroplane_trainval.txt train与val的合集 共5011个,指定正负样本
│   ├── aeroplane_val.txt 写着用于测试的图片名称 共4952个,指定正负样本

里面文件是这样的(以aeroplane_train.txt为例):

000012 -1
000017 -1
000023 -1
000026 -1
000032  1
000033  1
000034 -1
000035 -1
000036 -1
000042 -1
……
……
009949 -1
009959 -1
009961 -1

前面一列是训练集中的图片名称,这一列跟train.txt文件中的内容是一样的,后面一列是标签,即训练集中这张图片是不是aeroplane,是的话为1,否则为-1。

  • 0 表示图像中包含aeroplane对象但是难识别样本
  • 1 表示图像中包含aeroplane
  • -1 表示图像中不包含aeroplane

JPEGImages

所有的原始图像文件,格式必须是JPG格式

SegmentationClass

  这个文件夹里面保存的是专门针对Segmentation任务做的图像,里面存放的是Segmentation任务的label信息。

SegmentationObject

        这个任务叫做Instance Segmentation(样例分割),就同一图像中的同一类别的不同个体要分别标出来,也是单独给的label信息,因为每个像素点要有一个label信息。

跑faster-rcnn

因为第一个跑的代码visdom显示不出来,我也还不会用tensorboard,所以就换了一个代码

deep-learning-for-image-processing/pytorch_object_detection/faster_rcnn at master · WZMIAOMIAO/deep-learning-for-image-processing · GitHub

各项库装完之后,跑train.py会闪退

所以就用了作者训练好权重直接跑predict.py文件

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spirng bean

spring bean 作用域(scope) 作用域描述singleton单例模式,每一个spring context中只有一个实例prototype每次调用一个getBen方法都会产生一个新的对象request每个request请求产生一个实例session每个htttp session中产生一个实例application…

Qt之基于Graphics View实现Mesh网络拓扑图

Mesh是一种多节点、无中心、自组织的无线多跳通信网络,也就是网状结构网络。网络中所有的节点都互相连接,每个节点拥有多条连接通道,所有的节点之间形成一个整体的网络。 一.效果 Mesh网络拓扑形态并不固定,完全依据各节点之间的信道质量自适应变化。这里演示了四个节点四…

商场室内地图导航如何实现,便捷、低成本智慧商业综合体一站式解决方案

试想一下,在大型商场内,顾客结队购物,同伴走散或者儿童走失,顾客不知道自己和同伴的位置,这是多么糟糕的事情。的确,在室内迷路,是一件令人很头疼的事情,如何把室外导航这种完整度高…

架构篇 -- 搭建gitlab ci远程自动化部署

001.后端服务自动化部署 本文将以pass-runtime服务为例子,进行介绍,有相关自动部署需求,可参考此文档。 最近换了份工作公司要求使用gitlab ci去部署,原来比较习惯使用jenkins,但是还是要适应新挑战,看了网…

大语言模型集成工具 LangChain

大语言模型集成工具 LangChain LangChain 介绍 介绍: 通过可组合性使用大型语言模型构建应用程序【背景】大型语言模型 (LLM) 正在成为一种变革性技术,使开发人员能够构建他们以前无法构建的应用程序,但是单独使用这些 LLM 往往不足以创建一…

内存映射(Linux)

文章目录概念 内存映射(Memory-mapped I/O)是将磁盘文件的数据映射到内存,用户通过修改内存就能修改磁盘文件。 API 内存映射相关系统调用,使用man 2 mmap查看帮助 void *mmap(void *addr, size_t length, int prot, int flags, …

服务端大量处于TIME_WAIT和CLOSE_WAIT状态连接的原因

服务端大量处于TIME_WAIT和CLOSE_WAIT状态连接的原因1.服务端大量处于TIME_WAIT状态的连接原因?1.HTTP没有使用长连接2.HTTP长连接超时3.HTTP长连接的请求数量达到上限TIME_WAIT状态连接过多的危害?2.服务器大量处于CLOSE_WAIT状态的连接原因&#xff1f…

网络流量监控系统为企业SAP接口性能分析

前言 某汽车总部已部署NetInside网络流量监控系统,使用流量分析系统提供实时和历史原始流量,重点针对SAP系统性能进行分析,以供安全取证、应用事务分析、网络质量监测以及深层网络分析。 本次分析报告包含:SAP接口性能分析案例。…

TSD simple(0)时序数据库简介

时间序列数据库:Time Series Database 时序数据库全称为时间序列数据库。 时间序列数据:带时间标签的数据 时间序列数据库是用于存储和管理时间序列数据的专业化数据库,具备写多读少、冷热分明、高并发写入、无事务要求、海量数据持续写入等…

LeetCode155-最小栈

题目 解题 这道题本来是打算用栈然后加一个标记位,这个标记位存最小的数,但是之后发现解决不这种情况: 1、弹出以后,这个标记怎么办,没法回溯 那么就得换一个数据结构,比如额外放一个线性表,里…

【电子学会】2022年12月图形化四级 -- 求最大公约数

求最大公约数 如果6除以2的余数是0,那么我们就说2是6的约数。4除以4的余数是0,4也是4的约数。同理可以求出,4的约数有1、2和4,6的约数有1、2、3和6。两个数的最大公约数是指两个数相同的约数中最大的那一个,如4和6两个数的最大公约数是2。 辗转相除法求最大公约数的步骤…

Windows部署定时任务,每天定期执行手机机型爬取

项目背景 有一个手机机型自动更新获取的需求,在我写好相关的爬虫后,需要将爬虫部署,并且需要配置定时任务每天定期执行。之前在Mac上开发,现在部门给配了一台windows定期执行。 环境准备 A、安装ChromeDriver 1、我是通过Chro…

JAVA中创建线程池的五种方法及比较

之前写过JAVA中创建线程的三种方法及比较。这次来说说线程池。 JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用。另一类是通过ThreadPoolExecutor类进行自定义创建。 目录 一、通过Executors…

c++ - 第25节 - STL之空间配置器

1.什么是空间配置器 空间配置器,顾名思义就是为各个容器高效的管理空间(空间的申请与回收),在默默地工作。虽然在常规使用STL时,可能用不到它,但站在学习研究的角度,学习它的实现原理对我们有很大的帮助。2.为什么需要…

Javascript 模板模式

模板方法模式的定义和组成 模板方法模式是一种只需使用继承就可以实现的非常简单的模式。 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类。 通常在抽象父类中封装了子类的算法框架,包括实现一些公共方法以及封…

汉(海)明码 | “十六宫格法” 破解汉(海)明码相关题目(附软考经典例题)

文章目录一、前言二、奇偶校验码三、海明码概念四、十六宫格法1.概述2.原理3.填写校验位4.填写数据位5.填写十六宫格首位五、结语一、前言 很多小伙伴在遇到“汉明码”相关的题目时,看了很多的视频,很多文章可能还是云里雾里,作者在备考软考…

Linux:GDB 调试一些函数栈被毁坏的问题

一、背景 GDB调试代码时,偶尔会遇到一些奇怪的现象:函数的参数地址在函数内部被传递给另外的函数,然后发现地址发生了改变,这样的情况称之为函数的栈被毁坏,导致无法重入。 然后被调用的函数里面,访问了非…

5.一个高性能、无侵入的Java性能监控和统计工具,有点东西!

随着所在公司的发展,应用服务的规模不断扩大,原有的垂直应用架构已无法满足产品的发展,几十个工程师在一个项目里并行开发不同的功能,开发效率不断降低。 于是公司开始全面推进服务化进程,把团队内的大部分工程师主要…

应用性能监控系统为企业SAP做定制分析

前言 某汽车总部已部署NetInside应用性能监控系统,使用流量分析系统提供实时和历史原始流量,重点针对SAP系统性能进行分析,以供安全取证、应用事务分析、网络质量监测以及深层网络分析。 本次分析报告包含:定制SAP性能和SAP接口…

微课录屏软件哪个好?小白也能快速上手

相比线下课程,微课有着时间短、知识碎片化、可以循环播放等优点,我们可以在任意场所任意时间打开微课进行学习。那你知道微课是如何制作的吗?大部分微课是通过录屏软件录制电脑上教学内容制作而成的。微课录屏软件哪个好?今天小编…