当前位置: 首页 > news >正文

DDColor部署安装,在服务器Ubuntu22.04系统——点动科技

DDColor图片上色项目的部署安装,在服务器Ubuntu22.04系统——点动科技

  • 一、ubuntu22.04基本环境配置
      • 1.1 更换清华Ubuntu镜像源
      • 1.2 更新包列表:
      • 2. 安装英伟达显卡驱动
          • 2.1 使用wget在命令行下载驱动包
          • 2.2 更新软件列表和安装必要软件、依赖
          • 2.2 卸载原有驱动
          • 2.3 安装驱动
          • 2.4 安装CUDA
          • 2.5 环境变量配置
  • 二、安装miniconda环境
      • 1. 下载miniconda3
      • 2. 安装miniconda3
      • 3. 切换到bin文件夹
      • 4. 输入pwd获取路径
      • 5. 打开用户环境编辑页面
      • 6. 重新加载用户环境变量
      • 7. 初始化conda
      • 8.验证是否安装成功
      • 9.conda配置
  • 三、安装ddcolor
      • 1.克隆仓库
          • 1.1 github克隆
          • 1.2 国内github镜像克隆
          • 1.3. 进入目录
      • 2.创建虚拟环境
          • 2.1 进入虚拟环境
      • 3. 安装依赖
          • 3.1设置清华源、更新pip
          • 3.2安装torch 12.4cuda版本
          • 3.3安装依赖
          • 3.4安装webui界面依赖
          • 3.5安装魔搭库准备下载模型文件:
  • 四、webui界面
      • 4.1 运行python文件进入webui界面
      • 4.2服务器要修改对应的业务端口
      • 4.3效果如图:

一、ubuntu22.04基本环境配置

1.1 更换清华Ubuntu镜像源

  • 删除原来的文件
rm /etc/apt/sources.list
  • 开始编辑新文件
vim /etc/apt/sources.list
  • 先按i键,粘贴以下内容
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

请添加图片描述

  • 确保内容跟上述图片一致

  • 按esc键,再输入冒号+wq保存

在这里插入图片描述

1.2 更新包列表:

  • 打开终端,输入以下命令:
sudo apt-get update
sudo apt upgrade
  • 更新时间较长,请耐心等待

在这里插入图片描述

2. 安装英伟达显卡驱动

2.1 使用wget在命令行下载驱动包
wget https://cn.download.nvidia.com/XFree86/Linux-x86_64/550.100/NVIDIA-Linux-x86_64-550.100.run

在这里插入图片描述

2.2 更新软件列表和安装必要软件、依赖
sudo apt-get install g++

在这里插入图片描述

在这里插入图片描述
点击回车enter即可
在这里插入图片描述

sudo apt-get install gcc

在这里插入图片描述

sudo apt-get install make

在这里插入图片描述
在这里插入图片描述
点击回车enter即可

成功安装

在这里插入图片描述

2.2 卸载原有驱动
sudo apt-get remove --purge nvidia* 

在这里插入图片描述

  • 1.使用vim修改配置文件
sudo vim /etc/modprobe.d/blacklist.conf
  • 2.按i键进入编辑模式,在文件尾增加两行:
blacklist nouveau
options nouveau modeset=0

在这里插入图片描述

  • 3.按esc键退出编辑模式,输入:wq保存并退出

  • 4.更新文件

sudo update-initramfs -u

这里等待时间较久

在这里插入图片描述

  • 5.重启电脑:
sudo reboot

这里需要等一会才能连上

2.3 安装驱动
  • 1.授予执行权限
sudo chmod 777 NVIDIA-Linux-x86_64-550.100.run
  • 2.执行安装命令
sudo ./NVIDIA-Linux-x86_64-550.100.run

在这里插入图片描述

在这里插入图片描述

这里一直按回车就行,默认选择

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

一直按回车enter键,直到安装成功

在这里插入图片描述

在这里插入图片描述

  • 3.检测显卡驱动是否安装成功
nvidia-smi

在这里插入图片描述

2.4 安装CUDA
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

在这里插入图片描述

执行安装命令

sudo sh ./cuda_12.4.0_550.54.14_linux.run
  • 1.输出accept开始安装

在这里插入图片描述

  • 2.然后注意这里要按enter取消勾选第一个选项,因为之前已经安装了驱动

在这里插入图片描述

  • 3.接着选择Install开始安装

在这里插入图片描述

  • 4.安装完成

在这里插入图片描述

2.5 环境变量配置
  • 1.以vim方式打开配置文件
sudo vim ~/.bashrc
  • 2.按i键进入编辑模式,在文件尾增加下面内容:
export PATH="/usr/local/cuda-12.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH"

在这里插入图片描述

  • 按esc键退出编辑模式,输入:wq保存并退出

  • 3.更新环境变量

source ~/.bashrc
  • 4.检测CUDA是否安装成功
nvcc -V

在这里插入图片描述

二、安装miniconda环境

1. 下载miniconda3

wget https://mirrors.cqupt.edu.cn/anaconda/miniconda/Miniconda3-py310_23.10.0-1-Linux-x86_64.sh

在这里插入图片描述

2. 安装miniconda3

bash Miniconda3-py310_23.10.0-1-Linux-x86_64.sh -u

在这里插入图片描述

直接一直enter键,到输入路径和yes

这边建议路径为:miniconda3

在这里插入图片描述

直接回车enter即可,再次输入yes

在这里插入图片描述

成功安装

在这里插入图片描述

3. 切换到bin文件夹

cd miniconda3/bin/

4. 输入pwd获取路径

pwd

复制这里的路径

5. 打开用户环境编辑页面

vim ~/.bashrc 
  • 点击键盘I键进入编辑模式,在最下方输入以下代码
export PATH="/root/miniconda3/bin:$PATH"

在这里插入图片描述

按esc键退出编辑模式,输入:wq保存并退出

6. 重新加载用户环境变量

source ~/.bashrc

在这里插入图片描述

7. 初始化conda

conda init bash

在这里插入图片描述

8.验证是否安装成功

conda -V

在这里插入图片描述

9.conda配置

  • 1.配置清华镜像源

    代码如下:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

在这里插入图片描述

  • 2.设置搜索时显示通道地址
conda config --set show_channel_urls yes

在这里插入图片描述

  • 3.配置pip 镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

三、安装ddcolor

1.克隆仓库

1.1 github克隆
git clone https://github.com/piddnad/DDColor.git
1.2 国内github镜像克隆
git clone https://mirror.ghproxy.com/https://github.com/piddnad/DDColor.git

在这里插入图片描述

1.3. 进入目录
cd DDColor/

2.创建虚拟环境

conda create -n ddColor python=3.10

在这里插入图片描述

  • 输入y回车即可
2.1 进入虚拟环境
conda activate ddColor

在这里插入图片描述

3. 安装依赖

3.1设置清华源、更新pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplepython -m pip install --upgrade pip

在这里插入图片描述

3.2安装torch 12.4cuda版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

在这里插入图片描述

3.3安装依赖

第一次安装库需要等5分钟左右

pip install -r requirements.txt

在这里插入图片描述

3.4安装webui界面依赖
pip install gradio gradio_imageslider timm

在这里插入图片描述

3.5安装魔搭库准备下载模型文件:
pip install modelscope

在这里插入图片描述

3.6创建一个python文件进行下载模型

touch install.py
vim install.py

编辑文件,按i粘贴以下内容

from modelscope.hub.snapshot_download import snapshot_downloadmodel_dir = snapshot_download('damo/cv_ddcolor_image-colorization', cache_dir='./modelscope')
print('model assets saved to %s'%model_dir)

在这里插入图片描述

再输入esc,冒号+wq进行保存

运行刚刚创建的python文件,进行下载模型

python install.py

在这里插入图片描述

四、webui界面

4.1 运行python文件进入webui界面

python gradio_app.py

4.2服务器要修改对应的业务端口

vim gradio_app.py

在最后一行对应修改业务端口号

demo.launch(
server_port=15069,
share=True,
server_name="0.0.0.0")

在这里插入图片描述

在按esc,冒号+wq进行保存

再次运行python文件

python gradio_app.py

在这里插入图片描述

这样就可以进行外部访问了

4.3效果如图:

在这里插入图片描述

相关文章:

DDColor部署安装,在服务器Ubuntu22.04系统——点动科技

DDColor图片上色项目的部署安装,在服务器Ubuntu22.04系统——点动科技 一、ubuntu22.04基本环境配置1.1 更换清华Ubuntu镜像源1.2 更新包列表:2. 安装英伟达显卡驱动2.1 使用wget在命令行下载驱动包2.2 更新软件列表和安装必要软件、依赖2.2 卸载原有驱动…...

使用 SSL/TLS 加密保障 RocketMQ 的安全传输

引言 在现代分布式系统中,数据传输的安全性至关重要。Apache RocketMQ作为一款高性能、高吞吐量的消息中间件,在许多关键应用场景中被广泛使用。为了确保消息传输的安全性,SSL/TLS 加密提供了一种可靠的解决方案。本文将详细介绍如何在 Rock…...

uni-app开发

参考帖 uniapp官方文档 组件库 项目中肯定需要使用第三方组件库,因为现有的这些不够方便我们去使用 uview: 演示 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 ThorUI: 介绍 | ThorUI文档 创建uni-app项目 有HBuilder…...

2024社招面经_存储DB广告架构方向

总结 第一次社招,主要是三四月份面的,offer的有高德、拼多多、腾讯、美团、快手、携程,后面面的比较累了,因为美团定级和涨幅都还行就去了美团,没再继续面别的。 因为时间比较久了,只在这里贴一下当时有记…...

android10 系统定制:增加应用锁功能

实现效果如下,上锁应用在桌面或最近任务打开弹出解锁界面,需要解锁成功才能打开应用。解锁界面可点击返回或Home键关闭,非上锁应用可直接打开。 基本思路:拦截系统应用启动,判断应用是否在锁住状态,弹出解锁Window。解锁完成后再正常启动应用。分为从桌面启动和最近任务…...

数据结构----队列

一、队列 1)队列定义 队列(Queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 允许插入的端是队尾,允许删除的端是队头。队列是一个先进先出(FIFO)的线性表,相应 的也有顺序存储和链式存储两种方式。 2&#…...

【python】实现对文件夹中的图像连续重命名方法

import os import shutildef rename_images(input_folder):# 获取输入文件夹下的所有图片文件(假设都是.jpg格式)image_files [f for f in os.listdir(input_folder) if os.path.isfile(os.path.join(input_folder, f)) and f.endswith(".jpg"…...

【nginx 第一篇章】认识一下 NGINX 服务器

一、简介 Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。由俄罗斯程序员 Igor Sysoev 开发,并在2004年首次公开发布。Nginx 以其高并发处理能力、低内存消耗、稳定性、丰富的功能集、简单的配置以及低学…...

【物联网】(防水篇)哪些电子产品需要通过 IPX7 防水级别测试?

哪些电子产品需要通过 IPX7 防水级别测试? 举例一些可能需要通过 IPX7 防水级别测试的产品 - 电子产品:如智能手机、平板电脑、智能手表、运动手环等,以满足用户在不同场景下的使用需求,例如在潮湿环境或意外沾水时仍能正常工作。…...

高级java每日一道面试题-2024年8月09日-网络篇-什么是XSS攻击如何避免?

如果有遗漏,评论区告诉我进行补充 面试官: 什么是XSS攻击如何避免? 我回答: XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的Web应用程序安全漏洞,攻击者通过在网页中注入恶意脚本,当其他用户浏览这些网页时&…...

Linux时间管理:命令与脚本的完美结合

目录 前言 Linux时间管理命令 date命令 cron定时任务 at命令 sleep命令 脚本与时间命令的结合使用 备份脚本示例 设置cron任务 监控脚本执行时间 结论 致谢 前言 在Linux系统中,时间管理是一项基础而关键的任务。无论是安排周期性的备份、监控任务的执…...

基于ssm+vue+uniapp的微信外卖小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…...

lvs(linux virtual server)实例

一.lvs概述 1.1什么是lvs LVS(Linux Virtual Server)是一个基于Linux操作系统的虚拟服务器技术,用于实现负载均衡和高可用性。LVS通过将客户端的请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。LVS主要有两个组…...

Unity游戏开发

Unity游戏开发 系列文章的目录: 第一章:Hello,Unity! “好读书,不求甚解;每有会意,便欣然忘食。” 本文目录: Unity游戏开发 Unity游戏开发前言今天我们来体验一下unity开发创建第一…...

5. MQTT消息类型详解(三)

9 SUBACK消息 9.1 消息结构 SUBACK消息是订阅确认消息,格式如下: ------------------------------- | 消息类型(1字节) | ------------------------------- | 保留标志(1字节) …...

TypeScript JSX

介绍 在线的免费的代码转换器工具:可以把HTML 代码移植到 JSX 语法。还支持很多其他的转换。 JSX 是 ECMAScript 的一种类似 XML 的语法扩展,没有任何定义的语义。它不打算由引擎或浏览器实现。它并不是将 JSX 纳入 ECMAScript 规范本身的提议。它旨在供…...

java里的序列化反序列化、HttpMessageConverter、Jackson、消息转化器、对象转化器...都是啥?

前段时间在学习SSM框架(spring boot、spring MVC、mybatis)后端项目的时候,发现他们的项目里:响应类Result类要实现Serializable接口、转化响应给前端的时间数据的格式要用到什么“消息转换器”MappingJackson2HttpMwssageConvert…...

GNU/Linux - memtool使用

在Yocto中为NXP的i.MX系列芯片构建Linux系统时,可以加入一些实用工具,比如直接操作内存的memtool。 这些工具在imx-test包中,比如imx-test_git.bb里。 比如在imx-image-core.bb中,IMAGE_INSTALL "imx-test" &#xff0…...

Qt5.12.8源码交叉编译带openssl版本

一.背景 近期项目由于对接方的Qt版本是Qt5.12.8,后台服务是https的,之前用的Qt5.15.10要切换成Qt5.12.8,并且为了能支持https,必须要重新编译Qt。 二.环境 环境准备: Ubuntu版本 :18.04; openss…...

串行并行数据转换

前言 串行数据传输通常在数据传输距离较远时使用,而并行数据传输适用于短距离、高速数据交换。通过转换,可以根据实际需求选择合适的传输方式,以优化数据传输效率和速度。串行数据传输在长距离传输中可以减少信号的干扰和失真,因为…...

推荐一个优秀的 .NET MAUI 组件库

目录 前言 组件介绍 组件展示 布局 按钮 复选框 进度条 导航栏 组件地址 最后 前言 .NET MAUI 的发布,项目中可以使用这个新的跨平台 UI 框架来轻松搭建的移动和桌面应用。 为了帮助大家更快地构建美观且功能丰富的应用,本文将推荐一款优秀…...

用Manim创建条形图【BarChart】

BarChart是Manim库中用于创建条形图的函数。它允许用户通过一组值创建一个条形图,其参数可以调整条形的外观和布局。 BarChart(values, bar_namesNone, y_rangeNone, x_lengthNone, y_lengthNone, bar_colors[#003f5c, #58508d, #bc5090, #ff6361, #ffa600],bar_w…...

iMES工厂管家:强大的工厂管理系统

iMES工厂管家:强大的工厂管理系统 在现代工厂管理中,iMES工厂管家作为一款功能强大的MES系统,为用户提供了全面的管理解决方案。本文将介绍iMES工厂管家的基本信息、特点、以及如何快速部署和使用。 软件简介 iMES工厂管家是一款基于.NetCor…...

iOS ------ 事件响应链

响应者链 响应者链是由一系列链接在一起的响应者(UIResponser之类:UIApplication,UIViewController,UIView)注组成的。一般情况下,一条响应链开始于第一响应者,结束于application对象。如果一个…...

Go 语言 switch 语句的特点

在 Go 语言中,switch 语句设计得更加简洁和直观,因此不需要显式使用 break 语句来终止一个分支。这种设计决策源于 Go 语言的一些设计哲学和目标,主要包括: 自动终止: Go 语言的 switch 语句会在每个 case 执行完成后自…...

【递归】什么是递归-C语言为例

递归是指一个函数在其定义中直接或间接调用自身的编程技巧。在C语言中,递归常用于解决可以被分解为更小的子问题的问题。递归函数通常由两个主要部分组成: 基准情况:这是递归停止的条件,通常是最简单的情况。 递归情况&#xff1…...

vue针对低版本浏览器不兼容es6特性解决方案,

browser.min.js 解决ES6兼容IE browser.min.js,polyfill.min.js vue针对安卓低版本、ios9 不兼容 es6特性解决方案 解决IE9无法使用promise的js脚本,引入后,还需跟browser.js配合使用 Babel 默认只转换新的 JavaScript 句法,po…...

嵌入式内存管理高频面试题及参考答案(4万字长文)

目录 嵌入式系统中内存管理的重要性 嵌入式系统中的内存主要分为哪几类? 静态内存分配和动态内存分配的特点 内存对齐的概念及其作用 嵌入式系统中为什么需要关注内存碎片问题 内存分区的概念及其在嵌入式系统中的应用 内存映射文件的概念及其在嵌入式系统中的作用 虚…...

TinyWebserver的复现与改进(2):项目的整体框架

上文我们成功运行了代码,本文我们将对项目的整体流程作一下讲解 如果你之前没做过相关的内容,对服务器的⾼并发模型也⼀⽆所知,不建议继续做下去,需要的前置知识有: Linux的基本命令(⭐)多进程…...

R 语言学习教程,从入门到精通,R 字符串(10)

1、R 字符串 R 语言字符串可以使用一对单引号 ’ ’ 或一对双引号 " " 来表示。 单引号字符串中可以包含双引号。 单引号字符串中不可以包含单引号。 双引号字符串中可以包含单引号。 双引号字符串中不可以包含双引号。 以下示例演示来字符串的使用: a …...