笔记本Ubuntu18.04安装NVIDIA驱动,配置darknet环境,并跑yolov3例程(完全过程记录)

2023-05-16

前言
我的笔记本电脑显卡为GTX 1050,想利用它跑深度学习,但是配置环境时遇到了好多问题。前前后后重装了十几次ubuntu,一个一个试网上的问题解决方案,最终把环境搭好了。说多了都是泪。。。
所以,我把搭环境的操作记录并整理了下,在此发表,希望能帮助到一些人。
环境参数

  • 笔记本显卡:GTX 1050
  • Ubuntu版本:18.04
  • NVIDIA驱动版本:410.78
  • cuda版本:10.0.130
  • cudnn版本:cudnn-10.0-linux-x64-v7.4.1.5
  • opencv版本:3.2.0

我用的深度学习框架为 darknet ,目标检测算法用 yolov3。
darknet和yolov3介绍:https://cloud.tencent.com/developer/news/76803

一.安装Ubuntu双系统

在windows磁盘管理中分出可用空间给Ubuntu。
分出可用空间
这里我分了150G,建议100G以上。
然后网上下载U盘烧写工具,下载Ubuntu镜像文件(我下载的是Ubuntu18.04,没特别要求建议用最新的)。
制作U盘启动盘。
开机设置bios,进入U盘启动,安装Ubuntu。
这里需要注意两点:
1.选择为图形或无线硬件…安装第三方软件,后面装NVIDIA驱动需要
1
2.选择<安装Ubuntu,与Window Boot Manager共存>
这里电脑会自动选择可用空间安装Ubuntu。
所以其实不用像一些教程中自己搞分区安装,那样会很麻烦,弄不好可能还会出现问题。
2选择最小安装,安装时间大约20min。

  • ——————————————————————————————————
    问题:我在安装完成后进入Ubuntu后黑屏
    解决办法:
    开机出现grub画面,按’’‘e’’’ 进入编辑开机指令的模式(或者开机直接按“e”), 找到’’‘quitesplash’’’ 并在后面加上“nomodeset”,按’‘F10’'启动系统 。
    ————————————————————————————————

这时虽然进入了Ubuntu桌面环境,但是NVIDIA显卡没有被使用,我们需要手动安装NVIDIA驱动。

二.安装NVIDIA驱动

安装前准备:
开机时把bios里的secure boot关闭,要不然会影响后面安装NVIDIA驱动。

如果开机时,进入蓝色背景的界面perform mok
选择enroll mok
选择contitue
进入enroll the key
选择yes。
(这一步同样重要)

下载驱动:
这里要注意CUDA版本对显卡驱动版本有要求,官网说明:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
截图如下,以官网最新声明为准。
官网说明
去英伟达官网下载驱动程序:
http://www.nvidia.cn/Download/index.aspx?lang=cn
注意驱动下载好后放在一个英文目录下(tty下中文会显示乱码,所以要用英文路径)

首先更新:(重要步骤,因为upgrade可能会更新linux内核,这跟CUDA驱动有关系)

sudo apt update
sudo apt upgrade

禁用nouveau第三方驱动
打开编辑配置文件: sudo gedit /etc/modprobe.d/blacklist.conf
在最后一行添加:blacklist nouveau
改好后执行命令:sudo update-initramfs -u

重启后仍需要在开机指令中加"nomodeset"才能进入桌面图形环境。
重启后打开终端,输入lsmod | grep nouveau,正常为没有输出,意味着禁用nouveau成功。
因为安装驱动需要编译器,我们直接安装build-essential来解决这个问题 :
安装前需要换源(在< 软件和更新 >中更改,我选的是清华大学的源 tuna.tsinghua.edn.cn )
换源后安装:
sudo update
sudo apt install build-essential

接下来准备安装NVIDIA驱动:
首先要知道:要装显卡相关驱动时,必须禁用图形功能,才能正常安装。
所以要在Ubuntu的tty下用shell指令安装。
我们先设置在tty模式下的登录密码
sudo passwd root
设置新的unix密码。然后
sudo init 3
再按Ctrl+Alt+F3进入tty3,账号为root,密码为刚才设置的那个。
禁用图形服务:
sudo service gdm3 stop
很多教程是 sudo service lightdm stop,但是Ubuntu18.04用的是gdm3而不是lightdm
cd到驱动下载的目录,给文件添加执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-390.25.run (下载的驱动文件名)
驱动安装:

sudo ./NVIDIA-Linux-x86_64-390.25.run -no-opengl-files –no-x-check –no-nouveau-check 

安装后,重启,这次不需要添加nomodeset,因为显卡驱动装上去了。
输入sudo nvidia-smi,如果打印出显卡相关信息,说明驱动装上去了。

三.安装CUDA

cuda官方安装教程:
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
安装cuda要用deb文件安装。
这里尽量不要用.run文件安装,NVIDIA官方有这段话:
说明重点是这一句:While the Runfile installation performs no package validation, the RPM and Deb installations of the driver will make an attempt to install the kernel header and development packages if no version of these packages is currently installed.
如果用run文件安装的话,后面给系统 upgrade 后,会导致cuda运行出错。(亲测出错)
而用deb文件安装的话,就没有这个问题了。
安装cuda:
用deb文件安装CUDA。
下载cuda的.deb安装文件到英文目录:https://developer.nvidia.com/cuda-downloads

sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
source ~/.bashrc

四.安装Cudnn

cudnn官方安装教程:
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#axzz4qYJp45J2
下载地址:
https://developer.nvidia.com/rdp/cudnn-download
我下载的是:cudnn-10.0-linux-x64-v7.4.1.5.tgz
用以下方式安装:

sudo tar -xzvf cudnn-10.0-linux-x64-v7.4.1.5.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo gedit ~/.bashrc

最后一行添加:

export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64

注意路径中cuda版本要对应。
然后执行:

source ~/.bashrc

五.opencv安装

我们接下来通过源码编译的方式安装opencv。
官方提供opencv安装教程:
https://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
1.安装cmake和一些依赖库,工具

sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev #必要安装
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev  libjasper-dev #可选安装,我是有安装啦

遇到E: Unable to locate package libjasper-dev
解决方法:https://blog.csdn.net/weixin_41053564/article/details/81254410

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

2.下载opencv
先定位到你要下载的目录,我是选择Downloads目录下 cd

~/Downloads/
sudo wget https://github.com/opencv/opencv/archive/3.2.0.zip #下载opencv源码
sudo wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip
sudo unzip 3.2.0.zip  #解压
sudo unzip 3.2.0.zip.1

3.cmake GUI配置opencv
参考:https://blog.csdn.net/jindunwan7388/article/details/80397700

sudo apt-get install cmake-qt-gui
cd ~/Downloads/opencv-3.2.0/
sudo mkdir release
cd release/
sudo cmake-gui .. #打开cmake gui

cmake gui
选择opencv-3.2.0为源码目录
选择刚才新建的release文件夹为编译文件存放目录
点击左下方的Configure按钮,选择Unix Makefiles,选择Use default native compilers(默认),然后点击Finish。
点击Configure,过程中需要下载一些文件,要等待一段时间。
然后CMake会载入一些默认配置。
cmake配置
找到这个选项
cmake配置
改变这个选项的目录为opencv_contrib-3.2.0/modules文件夹。
然后在 Search 中查找cuda有关的选项,取消所有有关cuda的选项。
这样做是因为我们用darknet的cuda选项,所以就不需要opencv去支持cuda。
在这里插入图片描述
点击Generate生成配置文件,配置完成后,关闭cmake gui。
然后编译,安装:

sudo make 
sudo make install

说明:如果勾选了cuda相关选项,编译的时候会到用NVCC(CUDA的编译器),编译的过程十分缓慢,可能需要2~3小时编译。
NVCC介绍:https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#cuda-sources

六.安装darknet,跑YOLO v3

参考:https://www.jianshu.com/p/813342202837

cd ~/Download
git clone https://github.com/pjreddie/darknet.git
cd darknet
sudo make
./darknet

出现 usage: ./darknet < function> ,即为安装成功

现在为了测试我们的yolo,需要下载官方训练完毕的权重到darknet目录下
https://link.jianshu.com/?t=https%3A%2F%2Fpjreddie.com%2Fmedia%2Ffiles%2Fyolov3.weights
或者运行以下命令:

cd darknet
wget https://pjreddie.com/media/files/yolov3.weights
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

出现这个,说明正常
出现这个
这个结果是CPU跑的,花费时间比较久。
接下来我们测试下GPU跑的时间。
修改darknet/ 目录下的Makefile文件这三个选项:

GPU=1
CUDNN=1
...
NVCC=/usr/local/cuda-10.0/bin/nvcc

然后重新
sudo make
sudo ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

  • ——————————————————————————————————
    出现问题:error while loading shared libraries: libcudart.so.10.0: cannot open shared object file: No such file or directory
    解决:

      sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/
      sudo cp /usr/local/cuda-10.0/lib64/libcublas.so.10.0 /usr/local/lib/
      sudo cp /usr/local/cuda-10.0/lib64/libcurand.so.10.0 /usr/local/lib/
      sudo cp /usr/local/cuda-10.0/lib64/libcudnn.so.7  /usr/local/lib/
      sudo ldconfig
    

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

  • ——————————————————————————————————
    出现问题:/usr/bin/ld: 找不到 -lcuda
    解决:
    sudo ln -s /usr/lib/x86_64-linux-gnu/libcuda.so.1 /usr/local/cuda/lib64/libcuda.so
    ——————————————————————————————————

  • ——————————————————————————————————
    出现问题:/sbin/ldconfig.real: /usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudnn.so.7 不是符号链接
    解决参考:https://blog.csdn.net/CAU_Ayao/article/details/83512036
    我的操作供参考:
    find /usr/local/cuda-10.0/targets/x86_64-linux/lib/ | grep libcudnn.so
    参考
    将数字后缀的库链接到 libcudnn. so :
    sudo ln -sf /usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudnn.so.7 /usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudnn.so

    sudo ln -sf /usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudnn.so.7.4.1 /usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudnn.so

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

  • ——————————————————————————————————
    如果遇到问题:
    CUDA Error: out of memory
    darknet: ./src/cuda.c:36: check_error: Assertion ‘0’ failed.
    解决:更改cfg目录下的yolov3.cfg,把subdivisions=16
    改为subdivisions=64即可。
    ——————————————————————————————————

错误解决完后再次执行

sudo ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

最终效果:
最终效果
可以看到检测时间0.198599s比之前19.261127s快了很多,可见GPU的算力比CPU大很多。
但是结果没有以图片的形式显示,接下来用opencv来实现这个功能。

更改darknet中Makefile 关于opencv的选项

OPENCV=1

重新编译:

sudo make 

重新运行:

sudo ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
  • ——————————————————————————————————
    报错:error while loading shared libraries: libopencv_highgui.so.3.2: cannot open shared object file: No such file or directory
    解决:
    默认路径安装后,libopencv_highgui.so.3.2在/usr/local/lib下,所以我们做以下操作

     cd /etc/ld.so.conf.d
     sudo gedit OpenCV.conf
    

    添加/usr/local/lib,保存关闭,然后执行

     sudo ldconfig
    

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

  • ——————————————————————————————————
    出现error:Failed to load module “canberra-gtk-module”
    解决:sudo apt-get install libcanberra-gtk-module
    ——————————————————————————————————

错误解决完后再次执行

sudo ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

效果:
效果

环境搭好了,接下来可以玩耍了 ^ _ ^

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

笔记本Ubuntu18.04安装NVIDIA驱动,配置darknet环境,并跑yolov3例程(完全过程记录) 的相关文章

  • 【Linux基础】Makefile基础入门

    基础Makefile规则和样例展示 基础的makefile样例 目标 xff1a 依赖 命令 单文件编译 mian o main c gcc c mian c o mian 多文件编译 mian o main c mian h includ
  • Json基础

    Json是什么 JSON 或者 JavaScript 对象表示法是一种轻量级的基于文本的开放标准 xff0c 被设计用于可读的数据交换 约定使用 JSON 的程序包括 C xff0c C 43 43 xff0c Java xff0c Pyt
  • STM32 BOOT引起硬件死机

    STM32的三种启动方式依靠BOOT0和BOOT1两个引脚的电平来决定 xff0c ST官方推荐的是串联10k电阻然后在接高电平或接地 我用0R直接接地的 xff0c 没有串联10k电阻 xff0c 造成STM32的硬件死机 在实际的应用中
  • 远程 sshd提示:Server unexpectedly closed network connection

    root 64 xx vim etc ssh sshd config 修改端口为3330 root 64 xx iptables I INPUT p tcp dport 3330 j ACCEPT 添加防火墙3330端口 允许 root 6
  • linux驱动开发流程和方法

    方法一 xff1a 将驱动编入内核的方法 手把手教你写第一个Linux驱动程序 https blog csdn net morixinguan article details 54620088 方法二 xff1a 简单实例讲解linux的m
  • Ubuntu 出现apt-get: Package has no installation candidate问题解决办法

    apt get install tftpd tftp openbsd inetd 提示apt get Package has no installation candidate 解决方法如下 xff1a 先检查虚拟机网络是否NAT模式 xf
  • Vim/gVim 中文显示为乱码的解决办法

    打开vimrc文件 xff0c 在vim的安装目录下可以找到该文件 xff0c 或在windows下是在vim gvim下输入 edit vim vimrc 在文件的末尾添加一句 set fileencodings 61 utf 8 gbk
  • 关于字,半字,字节之间的关系

    一直搞不清楚字 xff0c 半字 xff0c 字节之间的关系 xff0c 查了一下资料 xff0c 明白了 字 xff0c 半字 xff0c 字节 大小是根据不同的操作系统来说的 xff0c 32位系统 字 gt 32bit 半字 gt 1
  • android json解析及简单例子

    JSON的定义 xff1a 一种轻量级的数据交换格式 xff0c 具有良好的可读和便于快速编写的特性 业内主流技术为其提供了完整的解决方案 xff08 有点类似于正则表达式 xff0c 获得了当今大部分语言的支持 xff09 xff0c 从
  • vim-plug的使用方法

    vim plug介绍 Vim plug 是一个自由 开源 速度非常快的 并行地安装或更新插件 xff0c 极简的 vim 插件管理器 GIT获取和安装 https git scm com 插件获取 https github com june
  • .NetCore swagger发布到iis时访问api出现404的解决方案

    介绍 使用netcore作为纯后端提供api已经变得越来越频繁 xff0c swagger也成为很多人的选择 通常会在代码中限制ASPNETCORE ENVIRONMENT为Production时关闭swagger 但是往往我们需要将api
  • 新手树莓派4B安装Supervised+Home Assistant及问题解决

    测试平台 xff1a 树莓派4B 4G 系统版本 xff1a Raspberry Pi OS with desktop and recommended software Release date September 22nd 2022 Sy
  • 无人机高精度定位之——RTK与PPK概念扫盲

    无人机高精度定位之 RTK与PPK概念扫盲 无人机的兴起 xff0c 已经让很多行业激动不已 xff0c 如电力巡检 应急救援 测绘 农业植保等行业 而随着高精度卫星导航技术的加持 xff0c 让无人机定位更加高效 安全 灵活 xff0c
  • 数据结构与算法--01数组:为什么大多编程语言中数组从0开始编号?

    数据结构与算法 01数组 xff1a 为什么很多编程语言中数组从0开始编号 xff1f 一 数组特性二 数组访问越界问题三 数组与容器四 回到开篇五 总结 一 数组特性 1 数组本质上是一种线性表数据结构 xff0c 用一组连续的内存空间来
  • 数据结构与算法--02链表-如何轻松写出链表代码

    数据结构与算法 02链表 如何轻松写出链表代码 写好链表并不是件容易的事情 xff0c 尤其是一些复杂的链表操作 xff0c 如链表反转 有序链表合并等等 即使能够写出代码 xff0c 但及其容易出错 所以付出一定量的精力是前提条件 xff
  • QT for Windows安装配置总结及采坑问题汇总

    QT for Windows安装配置总结及采坑问题汇总 一 安装包下载二 安装三 Qt Creator配置四 遇到的问题 一 安装包下载 1 Qt官方下载地址 xff1a http download qt io archive qt xff
  • IOS系统历届版本大回顾(<iOS7)

    APPLE xff0c 一种常见的水果 xff0c 但在人类的进化史上扮演了2次拯救世界的角色 第一次是在1666年一个夏末的傍晚 xff0c 在英格兰林肯郡的乌尔斯索普 xff0c 当一个年轻人坐在树下 xff0c 埋头读书的时候 xff
  • 总结-虚拟机安装OS X系统步骤及遇到的问题

    一 安装步骤 1 创建一个文件夹 xff0c 用于向虚拟机系统共享文件 xff0c 如 xff1a work 2 下载好所需的安装包 xff1a a VMware虚拟机安装包 xff08 包含unlocker软件 xff0c 用于解锁VMw
  • Git-回退到指定版本

    Git 回退到指定版本 1 方法一 xff1a git reset2 方法二 xff1a git commit amend 1 方法一 xff1a git reset 直接回退到指定版本 xff0c 目标版本之后的提交将被删除 情况一 xf
  • 我的2011--快乐最重要

    呵呵 xff0c 听着郭德纲和于谦老师的相声 xff0c 开始写这篇文章 xff0c 刚毕业不到六个月 xff0c 就换了一份工作 xff0c 很多事情都在意料之外 xff0c 很多事情又在意料之中 xff0c 总之 xff0c 以后回忆到

随机推荐

  • 如何在github的wiki中添加新的图片

    本文简单介绍在github的wiki中添加新的图片对方法 在github的wiki中 xff0c 可以展现图片 xff0c 可是 xff0c 怎么添加图片 xff0c 从网页上展示的信息来看 xff0c 不是很清楚 添加图片 xff0c 基
  • iOS-AppStore上传应用更新之——Xcode上传ipa

    iOS AppStore上传应用更新之 Xcode上传ipa 一 App Store Connect添加新版本配置二 Xcode验证IPA有效性三 生成IPA包 xff0c 通过xcode直接上传至AppStore四 注意事项 好久没有打包
  • CSDN博客搬家至掘金

    博客搬家说明 xff1a 作为一名程序员 xff0c 掘金是目前最适合我们的一个平台 xff0c 所以决定将CSDN博客搬迁至掘金 xff01 CSDN是我第一个接触的博客平台 xff0c 你将成为我最美的回忆 xff0c 永远爱你 xff
  • 机器人学习之项目- Project1 : Go Chase it!(一)

    1 项目简介 任务概述 在这个项目中 xff0c 在catkin ws src中创建两个ROS包 drive bot和ball chaser 下面是设计机器人的步骤 xff0c 把它安置在一个设定的世界里 xff0c 并编程让它追逐白色的球
  • R6002-floating point not loaded 的问题解决方法

    最近项目的要计算浮点数据 xff0c 为了调试方便 xff0c 输出计算结果值到DEBUG信息 xff0c 结果却出现 R6002 错误 Google了一下 xff0c MSDN上对于R6002的描述信息是 xff1a 错误消息 未加载浮点
  • Eclipse 创建spring Boot 项目pom.xml报错处理

    1 最首先检查版本问题 xff0c 需要的话更新maven插件 点击help Install New Software Work with输入如下地址 https otto takari io content sites m2e extra
  • python如何查看函数或者模块的源代码

    查看函数的源代码 xff1a 一般来说 xff0c 一个python函数会自带一个 code 变量 xff0c 其中包含了该函数源码的文件路径 以 os path exists 函数为例 xff0c 打印它的源代码文件位置 xff1a im
  • SUN RGB-D数据集的理解

    SUN RGB D数据集是普灵斯顿大学的 Vision amp Robotics Group 公开的一个有关场景理解的数据集 官方介绍在此 xff0c 其中有视频介绍 视频介绍已经很详细了 xff0c 建议先看懂视频 此博客仅仅列出个人认为
  • ORB_SLAM2--源码编译

    前言 学习ORB SLAM2 xff0c 从编译源码开始 ORB SLAM2的github地址 https github com raulmur ORB SLAM2 一 准备工作 1 安装依赖库 sudo apt install cmake
  • ORB_SLAM2的单目SLAM提高关键帧的个数

    一 前言 最近在结合ORB SLAM2和Map2DFusion xff0c 来做无人机航拍视频建图 xff0c 基本完成了pipeline xff0c 但发现出来的效果没有Map2DFusion官方的效果好 xff08 第一张图是我自己处理
  • fmt报错

    在编译Map2DFusion时 xff0c 遇到fmt报错的问题 xff1a home user01 ZhengJiafang Map2DFusion src Map2D cpp 23 usr local include sophus co
  • android4.0新控件Switch方法解析

    就是很像开关的那种控件 xff0c 它只有两个状态 xff1a on和off xff1a 在IOS中 xff0c 有个UISwitch控件 xff0c 其效果图 xff0c 如下 xff1a 在android4 0里面 xff0c 添加了一
  • 视觉SLAM融合GPS尝试

    一 前言 最近在做无人机建图的相关工作 xff0c 基本的方案是ORB SLAM2 43 Map2DFusion 在调试好代码后 xff0c 我利用大疆精灵4在附近的一个公园进行算法测试 xff0c 得到的效果图如下 xff1a 但在一些细
  • python读取与保存图片的exif信息

    图片的exif文件格式中保存了很多信息 xff0c 比如GPS经纬度 xff0c 高度 xff0c 焦距等信息 在图片的属性中可以看到这些信息 xff1a 我们可以使用python来进行exif数据的读取和保存 1 首先安装piexif p
  • ROS深度图转化为点云

    自己编写C 43 43 的ROS代码 xff0c 订阅D435i深度图像 xff0c 转化为点云数据 xff0c 并发布出去 说明 xff1a D435i本身就可以输出点云 xff0c 不需要自己编写代码 本博客的目的是通过自己编写深度图转
  • 大疆校招测评题--循环赛问题

    笔者在2022 7参加了大疆的测评题 其中有道循环赛问题 xff0c 记录下解题思路 循环赛问题 六名选手A B C D E F进行循环赛 每两名选手间比赛一次 xff0c 每名选手每天比赛一场 五天内完成循环赛 已知 xff1a 第一天C
  • Ubuntu22.04安装libudev-dev时的Bug

    新安装了Ubuntu22 04 xff0c 然后安装libudev dev xff1a sudo apt install libudev dev 发现了非常奇怪的事情 xff1a 正在读取软件包列表 完成 正在分析软件包的依赖关系树 完成
  • python爬虫教程——科研向

    引言 在科研中 xff0c 有时需要爬取网站上的文本数据 xff0c 用于统计分析 xff0c 或是制作机器学习所用的数据集 举个例子 xff0c 假如我们需要在世界野生鸟类声音网XenoCanto中 xff0c 爬取网站上的鸟类声音标签信
  • Ubuntu18.04虚拟机下安装opencv

    内容提要 xff1a 此文主要讲在Ubuntu18 04虚拟机下通过编译源码的方式安装opencv 一 首先 xff0c 安装VMware Workstations vmware下载渠道很多我是通过360软件管家下载的 安装过程默认就好 x
  • 笔记本Ubuntu18.04安装NVIDIA驱动,配置darknet环境,并跑yolov3例程(完全过程记录)

    前言 xff1a 我的笔记本电脑显卡为GTX 1050 xff0c 想利用它跑深度学习 xff0c 但是配置环境时遇到了好多问题 前前后后重装了十几次ubuntu xff0c 一个一个试网上的问题解决方案 xff0c 最终把环境搭好了 说多