IOPaint部署,在服务器Ubuntu22.04系统下——点动科技

news2024/11/17 18:59:37

这里写目录标题

  • 一、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配置
  • 三、安装IOPaint
      • 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创建模型放置文件夹
          • 3.4下载扩散模型
          • 3.5 改端口启动

一、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

在这里插入图片描述

三、安装IOPaint

1.克隆仓库

1.1 github克隆
git clone https://github.com/Sanster/IOPaint.git
1.2 国内github镜像克隆
git clone https://mirror.ghproxy.com/https://github.com/Sanster/IOPaint.git
1.3. 进入目录
cd IOPaint/

2.创建虚拟环境

conda create -n IOPaint python=3.10
  • 输入y回车即可
2.1 进入虚拟环境
conda activate IOPaint

3. 安装依赖

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

python -m pip install --upgrade pip
3.2安装torch 12.4cuda版本
pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
3.3安装依赖
pip3 install iopaint
pip install gfpgan
pip install realesrgan
pip install rembg
pip install realesrgan
3.4创建模型放置文件夹
mkdir model

官方模型介绍https://www.iopaint.com/models

3.4下载扩散模型
HF_ENDPOINT=https://hf-mirror.com iopaint start --device=cuda --model-dir=./model --model Sanster/PowerPaint-V1-stable-diffusion-inpainting

HF_ENDPOINT=https://hf-mirror.com iopaint start --device=cuda --model-dir=./model --model runwayml/stable-diffusion-v1-5

HF_ENDPOINT=https://hf-mirror.com iopaint start --device=cuda --model-dir=./model --model Fantasy-Studio/Paint-by-Example

HF_ENDPOINT=https://hf-mirror.com iopaint start --device=cuda --model-dir=./model --model kandinsky-community/kandinsky-2-2-decoder-inpaint

HF_ENDPOINT=https://hf-mirror.com iopaint start --device=cuda --model-dir=./model --model Sanster/AnyText

HF_ENDPOINT=https://hf-mirror.com iopaint start --device=cuda --model-dir=./model --model timbrooks/instruct-pix2pix

3.5下载擦除模型

https://pan.quark.cn/s/9ca4455c2651

放置到IOPaint目录下的model下

3.5 改端口启动
HF_ENDPOINT=https://hf-mirror.com nohup iopaint start --model lama --device=cuda --port=15109 --host 0.0.0.0 --input input --output-dir output --enable-interactive-seg --interactive-seg-model=vit_l  --interactive-seg-device=cuda --enable-gfpgan --gfpgan-device cuda --enable-realesrgan --realesrgan-model RealESRGAN_x4plus --realesrgan-device cuda --enable-remove-bg --enable-restoreformer --restoreformer-device cuda --enable-anime-seg --model-dir=./model &

在这里插入图片描述

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

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

相关文章

2024年第九届机器人与自动化工程国际会议(ICRAE 2024)即将召开!

2024年第九届机器人与自动化工程国际会议(ICRAE 2024)将于11月15-17日在新加坡举办。ICRAE 2024会议旨在为机器人与自动化工程等领域的专家学者建立一个广泛有效的学术交流平台,以便让参会人员及时了解行业发展动态、掌握最新技术,促使我们快速、准确地解…

在scss中如何使用hover(Vue项目)

在scss中如何使用hover(Vue项目) 最近在Vue项目中,想实现在鼠标悬浮时,修改鼠标指向的模块样式,但使用的是scss,写法是什么样的呢? 效果图: 实现代码: .content {widt…

Android系统和开发--安全性和权限管理 SELinux 策略 安全架构

学习android权限知识 SElinux chmod -R 777 ./ setenforce 0 adb root su fastboot oem at-unlock-vboot adb disable-verity Android权限 Android系统是基于Linux内核构建的,因此它继承了Linux的权限管理机制。Android应用需要通过声明权限来访问系统的某些功能&…

使用docker compose一键部署redis服务

使用docker compose一键部署redis服务 1、创建安装目录 mkdir /data/redis/ -p && cd /data/redis2、创建docker-compose.yml文件 version: 3 services:redis:image: registry.cn-hangzhou.aliyuncs.com/xiaopangpang/redis:7.0.5container_name: redisrestart: al…

Cpython解释器下实现并发编程——多进程、多线程、协程、IO模型

一、背景知识 进程即正在执行的一个过程。进程是对正在运行的程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 一&#xff09…

专利审查信息查询

1 登录国知局 国家知识产权局 政务服务平台 (cnipa.gov.cn) 进入网上办事 2 中国及多国专利审查信息查询 3 输入条件 弹出窗口 下载。 我们学校没有授权电子申请,没有办法,得自己关注!

MySQL-进阶篇-存储引擎

文章目录 1. MySQL 的体系结构1.1 连接层1.2 服务层1.3 存储引擎层1.4 存储层 2. 存储引擎2.1 存储引擎简介2.2 查看数据库支持的引擎2.3 指定存储引擎2.4 InnoDB 引擎2.4.1 InnoDB 的特点2.4.2 与 InnoDB 有关的磁盘文件2.4.3 InnoDB 的逻辑结构 2.5 MyISAM 引擎2.5.1 MyISAM …

虚拟机安装centos7-NAT网络模式安装

1、打开虚拟机,点击编辑,选择虚拟网络配置器 2、选择VMnet8的NAT类型 3、点击NAT设置,修改网关 4、点击应用及确定,如果你的子网IP及子网掩码没有的情况下,请优先设置 5、点击文件,选择新建虚拟机 6、选择典…

42、Python之面向对象:元类应用于定义检查、动态注入、插件注册

引言 在上一篇文章中,我们简单聊了一下Python中元类的概念,以及如何定义一个简单的元类。虽然,我们已经学会了定义元类,但是,相信不少刚接触Python的同学,大多会产生这样的疑问:这个不太好理解…

【Leetcode 1189 】 “气球” 的最大数量 —— 数组模拟哈希表

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。 示例 1: 输入&#…

YOLOv5改进 | 融合改进 | C3融合重写星辰网络之Rewrite the Stars⭐【CVPR2024】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…

Positional Encoding | 位置编码【详解】

文章目录 1、位置编码的2种方案2、位置编码3、公式详解 : 绝对位置 、 相对位置4、代码4.1 代码14.2 代码2 1、位置编码的2种方案 transformer的作者刚开始说固定的位置编码和可学习的位置编码的效果是差不多的,后来证明可学习的位置编码没有太大的必要&…

聊一下订单超时自动关闭的几种方式以及使用场景

订单超时自动关闭的本质其实是一种延时的功能实现,具体实现方式有很多种,但是我们方式的选择是需要结合业务场景的,没有更好的方案,只有更适合的方案,所以我们必须要结合自己的实际业务,以及业务的后续发展…

政务大数据解决方案(六)

政务大数据解决方案通过构建全面的数据集成平台,将来自不同政府部门和公共服务领域的多维度数据汇聚起来,运用先进的数据分析和人工智能技术进行深度挖掘与预测,从而为政府提供实时、精准的信息支持,优化决策流程,提高…

工业4.0下的防勒索病毒策略:主机加固在工控机防病毒中前行

MCK主机加固产品是一款专注于数据安全解决方案的软件,它在防勒索病毒和工控机防病毒方面具备一系列独特的功能和优势。 防勒索病毒方面: 内核级签名校验技术:MCK系统通过这项技术对操作系统启动及加载的所有模块进行可信认证,确…

电脑只有一个盘怎么分区?单盘电脑的解决方案

在现代计算机使用中,硬盘分区是一个重要的环节,它有助于我们更好地管理数据、提高系统运行效率,并在一定程度上保护数据的安全。 然而,当我们购买了一台新电脑后发现电脑里只有一个硬盘分区,这时候我们可能就需要对电…

Golang | Leetcode Golang题解之第349题两个数组的交集

题目&#xff1a; 题解&#xff1a; func intersection(nums1 []int, nums2 []int) (res []int) {sort.Ints(nums1)sort.Ints(nums2)for i, j : 0, 0; i < len(nums1) && j < len(nums2); {x, y : nums1[i], nums2[j]if x y {if res nil || x > res[len(re…

什么是CDN,CDN的作用是什么?

CDN CDN英文全称Content Delivery Network&#xff0c;即为内容分发网络。它是建立并覆盖在承载网之上&#xff0c;将内容存储在分布式的服务器上&#xff0c;使⽤户可以从距离较近的服务器获取所需的内容&#xff0c;从⽽减少数据传输的时间和距离&#xff0c;提⾼内容的传输…

基于Java的同城宠物服务预约系统的设计与实现---附源码78744

摘要 随着人们对宠物的喜爱和关注度不断增加&#xff0c;对宠物服务的需求也日益增长。为了提供更便捷、高效的宠物服务&#xff0c;设计并实现了一款基于 Java 的同城宠物服务预约系统。 本系统旨在满足宠物主人对各种宠物服务的需求&#xff0c;同时为宠物服务提供者提供一个…

C++ 设计模式——抽象工厂模式

抽象工厂模式 抽象工厂模式 抽象工厂模式主要组成部分代码实现抽象工厂模式模式的 UML 图抽象工厂模式 UML 图解析优点和缺点适用场景 抽象工厂模式提供一个接口&#xff0c;用于创建一系列相关或相互依赖的对象&#xff0c;而无需指定它们的具体类。它通常用于需要创建多个产品…