安装caffe-CPU版本并进行训练

news2024/12/22 22:24:22

目录

前言

0、安装Ubuntu 18.04 版本

输入ls没有反应

ubuntu换源

 换源出现的问题

1、安装caffe出现E:Unable to locate package caffe-cpu问题

 2、把 code 文件夹下载到 ubuntu

3、在本地使用caffe-CPU,并部署数据标注工具 ATool

问题1

问题2

问题3

命令行修改

大功告成!

4、ATool图像标记设备的使用

教程

 我的标点逻辑

5、在华为云上使用caffe-GPU,并部署ATool

省流:vscode没有x11,直接换用mobaXterm。

MobaXterm使用

6、在华为云服务器使用cafffe-GPU训练模型

安装anaconda

到创建虚拟环境的时候报错

解决方案(后面类似问题也加上--insecure)

安装caffe-GPU

模型训练

d.train.sh 文件的修改

caffemodel文件的下载

具体修改细节

validation_regression.py代码的修改

有两处错误。

最优模型验证结果 


前言

仅做记录,本文参考学校人工智能社团的昇腾atlas 200dk自动循迹小车教程。这是数据训练过程的全记录。中间有很多省略,是实操过程中的一点笔记。请谨慎入坑。

0、安装Ubuntu 18.04 版本

因为搜索时发现有人评论22.04没有caffe-CPU,就安装了老版本。


 sudo apt install caffe-cpu

输入ls没有反应

参考博客Ubuntu用户目录下缺失Desktop Downloads等文件夹的解决办法_ubuntuhome找不到desktop-CSDN博客

ubuntu换源

Ubuntu修改源镜像方法(22.04也能用)附带常用源镜像地址_ubuntu22.04lts镜像源下载-CSDN博客

 换源出现的问题

ubuntu18换源并且解决/etc/apt/sources.list“ E212: Can‘t open file for writing-CSDN博客

1、安装caffe出现E:Unable to locate package caffe-cpu问题

原因,新装的ubuntu太空,没有apt-get依赖。下面博客虽然是VIP,但第一部分可以用。

安装caffe(CPU版)_e: 无法定位软件包 caffe-cuda-CSDN博客z

下面这个博客我没试过,感觉有用。

[已解决] Ubuntu 上的“E:无法找到包”错误 (linux-console.net)

 2、把 code 文件夹下载到 ubuntu

由于在windous上下载了code文件,出于省时间,便直接从windous复制到linux ubuntu 18.04之中,没想到花了我十几分钟。总结:傻瓜式操作,时间耗费长。

3、在本地使用caffe-CPU,并部署数据标注工具 ATool

总参考智能小车算法开发 - Wiki - Gitee.com

这个教程有些问题。下面是我的实践经过。

要一行一行地复制命令行。否则会出现一些命令行运行不完全。 

问题1

下行代码的意思是解压缩包,但这里有几点问题。

tar vxf Atool.tar.gz

 文中显示打不开,经核查,刚刚下载的code文件夹的ATool压缩包名字为ATool.tar.gz,而不是Atool.tar.gz。其次要定位到文件夹位置才能解压缩,否则还是打不开。

问题2

问题代码

mkdir build

解释:在ATool文件夹里新建build文件夹。 

报错提示

mkdir: cannot create directory ‘build’: File exists

当你在使用 mkdir 命令尝试创建一个名为 build 的目录时,如果系统显示错误 “mkdir: cannot create directory ‘build’: File exists”,这意味着 build 这个目录已经存在于你当前的工作目录中。

上面截图可以看出,build文件夹已经存在。 

问题3

 问题太多了,那看来是我哪一步没走好,重来。

重来后还是回到这一步 

cmake ..

解释:

在命令行中执行 cmake .. 命令时,这个命令是在告诉 CMake 工具使用当前目录的上一级目录(即 .. 表示的目录)中的 CMakeLists.txt 文件来配置和生成项目的构建系统。

具体来说,这个命令做了以下几件事情:

  1. 查找 CMakeLists.txt:CMake 会首先在当前目录的上一级目录(即 ..)中查找名为 CMakeLists.txt 的文件。这个文件是 CMake 项目的配置文件,包含了项目的构建信息和规则。

  2. 解析 CMakeLists.txt:一旦找到 CMakeLists.txt 文件,CMake 就会解析这个文件中的指令。这些指令告诉 CMake 需要哪些源文件、如何编译它们、需要链接哪些库、以及生成哪些目标(如可执行文件或库)等。

  3. 生成构建系统:根据 CMakeLists.txt 文件中的指令,CMake 会生成一个或多个构建系统文件。这些文件通常包括 Makefile(对于 Unix-like 系统)、Visual Studio 项目文件(对于 Windows)或其他类型的构建系统文件,具体取决于你运行 CMake 时使用的生成器(通过 -G 选项指定)。

  4. 准备构建:一旦构建系统文件被生成,你就可以使用它们来构建你的项目了。例如,在 Unix-like 系统上,你可以通过运行 make 命令来构建项目(前提是你已经生成了 Makefile)。

 (文心一言生成)

报错提示

Command 'cmake' not found, but can be installed with:

sudo snap install cmake  # version 3.30.0, or
sudo apt  install cmake

See 'snap info cmake' for additional versions.

我回到home文件夹下载了cmake(用GPU做的时候忘了这一步),又回到ATool文件夹,结果报错。而且又回到ATool文件夹下载,依然报此错误。

CMake Error: The source directory "/home/zjs/Downloads/code/code/tools" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

 OK,报错说找不到CMakeLists.txt文件,可以看到CMakeLists.txt文件就在ATool文件夹中,但cmake寻找的是ATool的上一级文件夹。这里也能看出,cmake找文件不会去找本文件夹的子文件夹里的文件。

已解决,cd进入build文件夹,再cmake寻找上一级文件夹。

最后在build文件夹中输入make指令。

命令行修改

原来的

tar vxf Atool.tar.gz
cd ATool
mkdir build
cmake ..
make

现在的

tar vxf ATool.tar.gz
cd ATool
cd build
cmake ..
make

注意,一行一行的复制粘贴最为保险。 

大功告成!

最后输入

./ATools

全过程展示(输入路径时左右正斜杠要有,从home开始,而不是从Downloads开始)

全部标记完会回到命令行界面,忘记截图标点情形了,后面会补上。

如果没有未标记的截图,结果如下

补上的截图(红点应该放在蓝线与中间白色的虚线的交点处,用来指示小车前进的方向)

 小车出界我不太知道怎么处理,是要停下吗?不知道。

——————————————————————————————————————————

4、ATool图像标记设备的使用

教程

ATool比较原始,标记白点切换下一张图像后,不能直接修改。只能在与img文件夹同级的table文件夹中寻找与.img同级的.json文件,删除即可。这样就可以重新标注了。

点击.json文件,可以发现一个坐标,这就是标记点的坐标。

逐字逐行的看下面的教程!!!

 我的标点逻辑

正常情况同上教程,往辅助线与白虚线的交点拐弯。

若小车压黄线,则小车在哪个车道部分更多,往哪最大程度地拐弯或往辅助线与白虚线交点方向拐弯。

若小车垂直穿过黄线,此时看不到白线,则向能让小车正向回到道路并能看到辅助线与白虚线的交点方向拐弯。

5、在华为云上使用caffe-GPU,并部署ATool

省流:vscode没有x11,直接换用mobaXterm。

到最后一步./ATools出现了这个问题

root@caffe-gpu:~/Downloads/code/tools/ATool/build# ./ATools
Unable to init server: Could not connect: Connection refused

(src:28284): Gtk-WARNING **: 11:10:00.718: cannot open display: 

解决方案:回到home文件夹

cd $home

参考此博客(gedit是图像的文本处理器)

彻底解决关于gedit的Unable to init server: 无法连接: 拒绝连接_non-network local connections being added to acces-CSDN博客

使用如下命令

xhost local:gedit

系统提示

Command 'xhost' not found, but can be installed with:

apt install x11-xserver-utils

让我下载x11。这就与文心一言给我的提示相似了,文心一言说我x11转发未启用,其实是未下载。安装后即可。

又出现下问题,可参考引用博客

xhost:  unable to open display ""

解决方案(逐行粘贴) 

export DISPLAY=:0
xhost local:gedit

参考之后又出现新问题

xhost:  unable to open display ":0"

 正解居然在CSDN文库上

Unable to init server: Could not connect: Connection refused - CSDN文库

ssh -X 远程服务器用户名@远程用户名ip

我是连接华为云GPU出的问题。不知道适不适用。 最后提示在浏览器打开,端口为10。

emmmm,又出新问题。

connect /tmp/.X11-unix/X0: No such file or directory
Unable to init server: Could not connect: Connection refused

(src:10785): Gtk-WARNING **: 15:08:37.956: cannot open display: localhost:10.0

 经助教提示,我换用MobaXterm,并最终打开了ATool应用。(时间比较紧张,记一点重点)

MobaXterm使用

【业务工具】MobaXterm入门介绍和简单教程_mobaxterm详细教程-CSDN博客

安装完成后,进入界面,点击左上角session,出现新窗口,点击ssh,在Remote host输入远程服务器ip,点击Specity username左侧的方框,在Specity username输入远程服务器用户名。

对于本次任务,我更喜欢MobaXterm一些,因为左侧远端服务器的文件夹是可视化的。而且可以可视化实现windous与Linux文件互传。

6、在华为云服务器使用cafffe-GPU训练模型

安装anaconda

GPU没有代金券要花很多钱,我选的GPU,只要是使用,7.3802元每小时。还要另算流量,0.8元每G。

要修改code文件中的部分python文件夹,而且使用了一些用于数据处理的库。所以我们需要anaconda。

如何在Linux服务器上安装Anaconda(超详细)_linux安装anconda-CSDN博客

不过用GPU够快。

到这一步可以写no,其他有yes写yes,没有就按enter键。

后面按教程一步步来就好,下面是不按教程的后果。

到创建虚拟环境的时候报错

root@caffe-gpu:~# conda create -n pytorch python=3.7
Solving environment: failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/noarch/repodata.json.bz2>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.

SSLError(MaxRetryError('HTTPSConnectionPool(host=\'repo.anaconda.com\', port=443): Max retries exceeded with url: /pkgs/main/noarch/repodata.json.bz2 (Caused by SSLError(SSLError("bad handshake: Error([(\'SSL routines\', \'ssl3_get_server_certificate\', \'certificate verify failed\')])")))'))

解决方案(后面类似问题也加上--insecure)

临时忽略SSL验证(不推荐,但可作为测试)

如果只是想快速测试是否是SSL验证问题导致的,可以尝试在命令中添加--insecure选项来临时忽略SSL验证(注意,这可能会使您的连接容易受到中间人攻击):

conda create -n pytorch python=3.7 --insecure

安装caffe-GPU

Anaconda安装caffe(超简单)_centos anaconda3 安装caffe-CSDN博客

不要考虑版本老旧的问题,能用就行。

linux上没有python编辑工具,有点后悔前面为什么没下载vscode,我以为pytorch是编辑器,所以没下vscode,结果发现错的离谱。不过又想起来anaconda又有自己的编辑器。——不过最后用的是mobaXterm自带的编辑器。

超详细的 Linux 环境下 Anaconda 安装与使用教程-CSDN博客

超级简单!退出Jupyter Notebook的几种小方法及注意事项!_退出jupyter notebook命令-CSDN博客

我后面的运行代码,有python3的代码都改为了python开头,因为有caffe-GPU的环境,python版本是2.7。


 python3 ./1_generate_list.py

 python ./1_generate_list.py

 编辑器就用MobaXterm自带的就行。

模型训练

d.train.sh 文件的修改

caffemodel文件的下载

注:.caffemodel 请从压缩包中复制,下面有链接。

智能小车算法开发 - Wiki - Gitee.com

这四个链接怎么用?什么时候用?注意后缀。 

.caffemodel在现在用。进入ATool文件,新建model文件夹,进入model文件夹,把下载的.caffemodel文件移到model文件夹内,拖动即可。

.prototxt文件与.cfg文件在这里用。到这里就不是我的任务了。我将开新博客介绍。

具体修改细节

若用gpu,下面方框处应该是gpu := 0。

validation_regression.py代码的修改

有两处错误。

1、如方框所示,-1改为-2 。2、125行逗号后的空格去掉。

注意开头几行有五六个要修改的路径!不是只有教程标着的几个。

最优模型验证结果 

第一个caffemodel文件,损失函数误差0.005416。

 第二个文件,损失函数误差0.005451

第三个文件,损失函数误差0.005437

应该选第一个为我们自己训练好上传的.caffemodel文件。

亲测使用GPU极有优势,训练三千张照片只要5分钟,三个caffemodel文件分别验证也不会超过十五分钟,是CPU的十几倍甚至几十倍。

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

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

相关文章

C语言迷宫

目录 开头程序程序的流程图程序输入与输出的效果结尾 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我要来看我用C语言编译出来的迷宫游戏。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <Windows.h> void printmaze(char s…

计算机网络基础:局域网、广域网及OSI七层模型解析

文章目录 一、局域网和广域网1、局域网&#xff08;LAN - Local Area Network&#xff09;2、广域网&#xff08;WAN - Wide Area Network&#xff09;3、对比局域网和广域网 二、OSI七层模型1、OSI的七层网络结构2、OSI的数据传输方式3、网络与操作系统的关系 一、局域网和广域…

“论系统安全架构设计及其应用”,写作框架,软考高级论文,系统架构设计师论文

论文真题 随着社会信息化进程的加快&#xff0c;计算机及网络已经被各行各业广泛应用&#xff0c;信息安全问题也变得愈来愈重要。它具有机密性、完整性、可用性、可控性和不可抵赖性等特征。信息系统的安全保障是以风险和策略为基础&#xff0c;在信息系统的整个生命周期中提…

【BUG】已解决:error: legacy - install - failure

error: legacy - install - failure 目录 error: legacy - install - failure 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&…

spring-boot 整合 redisson 实现延时队列(文末有彩蛋)

应用场景 通常在一些需要经历一段时间或者到达某个指定时间节点才会执行的功能&#xff0c;比如以下这些场景&#xff1a; 订单超时提醒收货自动确认会议提醒代办事项提醒 为什么使用延时队列 对于数据量小且实时性要求不高的需求来说&#xff0c;最简单的方法就是定时扫描数据…

sql常见50道查询练习题

sql常见50道查询练习题 1. 表创建1.1 表创建1.2 数据插入 2. 简单查询例题(3题&#xff09;2.1 查询"李"姓老师的数量2.2 查询男生、女生人数2.3 查询名字中含有"风"字的学生信息 3. 日期相关例题(6题&#xff09;3.1 查询各学生的年龄3.2 查询本周过生日的…

73、Flink 的 DataStream API 生产实践总结

0、汇总 1.可以使用 Maven 命令、CURL 命令、IDEA 手动创建 Flink 项目&#xff1b;2.可以使用 Maven Shade 插件将必需的依赖项打包进应用程序 jar 中&#xff1b;3.应该在 Flink 集群的 lib 文件夹内配置需要的&#xff08;核心&#xff09;依赖项&#xff1b;4.应该将程序中…

探索球形气膜的独特魅力:移动性与经济性的结合—轻空间

球形气膜结构因其独特的设计和多功能性而备受青睐。它不仅在空间利用方面有着显著优势&#xff0c;还展现出出色的移动性和经济性。以下是球形气膜的关键特点&#xff1a; 灵活的移动性 球形气膜以其轻便且易于移动的特性而闻名。这种结构设计使得气膜可以在不同场地之间快速组…

测试管理工具、自动化测试工具、跨浏览器测试工具 推荐

测试管理工具 1&#xff09;Xray Xray 是排名第一的手动与自动化测试管理应用&#xff0c;专为质量保证而设计。它是一个功能齐全的工具&#xff0c;能够无缝集成于 Jira 中。其目的是通过有效和高效的测试帮助公司提高产品质量。 功能特点&#xff1a; 需求、测试、缺陷和执…

Docker核心技术:容器技术要解决哪些问题

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Docker核心技术 系列文章&#xff1a;容器技术要解决哪些问题&#xff0c;其他文章快捷链接如下&#xff1a; 应用架构演进容器技术要解决哪些问题&#xff08;本文&#xff09;Docker的基本使用Docker是如何实…

MySQL学习记录 —— 이십삼 MySQL服务器文件系统(3)

文章目录 1、数据字典2、系统表各种系统表 Mysql Schema是⼀个系统库&#xff0c;表中存储了MySQL服务器运行时所需的信息。广义上&#xff0c;mysql schema包含存储MySQL程序基本数据的数据字典和用于其他操作目的的系统表。数据字典表和系统表位于数据目录下一个名为mysql.ib…

Spring-Aop源码解析(二)

书接上文&#xff0c;上文说到&#xff0c;specificInterceptors 不为空则执行createProxy方法创建代理对象&#xff0c;即下图的createProxy方法开始执行&#xff0c;生成代理对象&#xff0c;生成代理对象有两种方式&#xff0c;JDK和CGLIB。 createAopProxy就是决定使用哪…

(ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类

文章目录 Robust deep alignment network with remote sensing knowledge graph for zero-shot and generalized zero-shot remote sensing image scene classification相关资料摘要引言遥感知识图谱的表示学习遥感知识图谱的构建实体和关系的语义表示学习创建遥感场景类别的语…

【Git-驯化】手把手搭建Mac电脑中git环境配置以及连接github仓库

【Git-驯化】手把手搭建Mac电脑中git环境配置以及连接github仓库 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容文档关…

【Linux】HTTP 协议

目录 1. URL2. HTTP 协议2.1. HTTP 请求2.2. HTTP 响应 1. URL URL 表示着是统一资源定位符(Uniform Resource Locator), 就是 web 地址&#xff0c;俗称“网址”; 每个有效的 URL 可以通过互联网访问唯一的资源, 是互联网上标准资源的地址; URL 的主要由四个部分组成: sche…

【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

Pytorch使用前期准备

一、检查英伟达驱动和CUDA Toolkit是否正确安装 1.任务管理器性能选项卡中能正确显示显卡型号则表示显卡驱动正确安装 2. CUDA Toolkit会跟随pytorch自动安装 二、虚拟环境的准备 Miniconda — Anaconda documentationhttps://docs.anaconda.com/miniconda/ 1.安装anaconda或者…

Linux实用操作三

文章目录 Linux实用操作三网络传输ping命令介绍&#xff1a;示例&#xff1a; wget命令介绍&#xff1a;示例&#xff1a; curl命令介绍&#xff1a;示例&#xff1a; 端口介绍&#xff1a;端口的划分&#xff1a;查看端口占用&#xff1a; 进程管理进程介绍&#xff1a;查看进…

二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)​​

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

转置卷积方法

一、定义 1、卷积神经网络层通常会减少&#xff08;或保持不变&#xff09;采样输入图像的空间维度&#xff08;高和宽&#xff09;&#xff0c;另一种类型的卷积神经网络层&#xff0c;它可以增加上采样中间层特征图的空间维度&#xff0c; 用于逆转下采样导致的空间尺寸减小…