[摩尔线程] 魔笔马良 U盘 Ubuntu系统部署

2023-11-23 05:40

本文主要是介绍[摩尔线程] 魔笔马良 U盘 Ubuntu系统部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MobiMaliang Deploy on Ubuntu20.04
[摩尔线程] 魔笔马良 U盘 Ubuntu系统部署

pdf文档和自动安装脚本链接, 蓝奏云: https://😀wwft.lanz😀oul.com/b052😀nz4rc 密码:95s7
脚本需要更改 txt 后缀 为 sh. 并且添加执行权限. sudo chmod +x ./UbuntuDeploy.sh


0. 预置

0. 请先向摩尔马良官方申请开发者账户和密码 [必要]
后续会使用该账号下载必要资源
请向 developers@mthreads.com 发送邮件,提供姓名、手机号、行业等基本信息,以申请开发者账号,用于拉取运行 torch_musa 所需的镜像
申请成功后,请编辑 install.sh 第18行,并替换账号密码

1. 推荐使用英文系统: 可以避免很多不必要的麻烦!!!
等魔笔马良可以成功运行之后再去系统把语言改回中文, 可以减少前期很多不必要的错误.**

2. Linux(Ubuntu) to go U盘系统不会对当前已有的系统造成影响
仅是需要Linux(Ubuntu) 时, 插上 U盘, 然后在开机时选择 U盘 启动即可.


  • 检查当前语言:
    打开 Ubuntu 的 Setting, 然后到倒数第 5 个 地区和语言(Region&&Language) 里去检查当前语言是否为 English, 如果不是则更换为 英语(美国), 然后重启 Ubuntu 即可.

1.安装 Ubuntu 20.04 可以参考这两个视频:

  1. 【【详细教程】用ventoy打造超级8合一系统启动U盘同时塞入WinTOGO,PE,LinuxTOGO#1】 【精准空降到 09:02】
  2. 【【详细教程】用ventoy制作linuxTOGO多合一便携U盘安装完整ubuntu(免持久化)-8合1U盘#2】
    以上两个视频, 第一个可以不用管前半部分的 Win to go 部分, 直接从 09:02 开始看起即可.
    上面转载链接已得到原作者同意.

2.插上制作好的 Linux(Ubuntu) to go — U盘到电脑上.

部分电脑的引导启动选项菜单选取键:

组装机笔记本品牌台式机
主板品牌启动按键笔记本品牌启动按键台式机品牌启动按键
华硕主板F8联想笔记本F12联想台式机F12
技嘉主板F12宏碁笔记本F12惠普台式机F12
微星主板F11华硕笔记本ESC宏碁台式机F12
映泰主板F9惠普笔记本F9戴尔台式机ESC
梅捷主板ESC或F12联想ThinkpadF12神舟台式机F12
七彩虹主板ESC或F11戴尔笔记本F12华硕台式机F8
华擎主板F11神舟笔记本F12方正台式机F12
斯巴达卡主板ESC东芝笔记本F12清华同方台式机F12
昂达主板F11三星笔记本F12海尔台式机F12
双敏主板ESCIBM笔记本F12明基台式机F8
翔升主板F10富士通笔记本F12
精英主板ESC或F11海尔笔记本F12
冠盟主板F11或F12方正笔记本F12
富士康主板ESC或F12清华同方笔记本F12
顶星主板F11或F12微星笔记本F11
铭瑄主板ESC或F11明基笔记本F9
盈通主板F8技嘉笔记本F12
捷波主板ESCGateway笔记本F12
Intel主板F12eMachines笔记本F12
杰微主板ESC或F8索尼笔记本ESC
致铭主板F12苹果笔记本长按“option”键
磐英主板ESC
磐正主板ESC
冠铭主板F9
注意:上述未提到的电脑机型请尝试或参考相同的品牌常用启动热键
内容参考 Next I tell you

3.宿主机 Ubuntu 安装魔笔马良驱动

成功进入 Ubuntu 系统之后

  • 解释: 宿主机指的就是你现在使用的这个 Ubuntu 裸机.
  • 需要知道的必要知识:
    终端(Terminal)打开方式有两种:
    1. 在桌面或者文件夹里鼠标右键,然后选择 Open in Terminal 既可以打开 Terminal
    2. 按下鼠标 Ctrl+Alt+T, 这里的 T 是 Terminal 的缩写.

1.自动安装脚本

在任意地方, 任意方式打开终端 Terminal 后, 输入以下内容.

sudo apt install git        # 安装 git
git --version               # 检测 git 是否安装成功# 下载并运行 UbuntuDeploy.sh 脚本
sudo wget https://gitee.com/Credhat/MobiMaliangSDK/raw/main/UbuntuDeploy.sh -O - | sudo bash
2.手动一步步安装:
1.安装 Git.

在任意地方, 任意方式打开终端Terminal 后, 依次输入以下内容,如果叫输入密码则输入你的账户密码即可.

sudo apt install git                  #安装 git
git --version                         #检测 git 是否安装成功

git

中间没有报错, 并且第二行 git --version输出类似上述内容, 则说明成功安装了.

2.创建 mtai_workspace 文件夹
mkdir -pv $HOME/Desktop/mtai_workspace  # 创建mtai_workspace文件夹
cd $HOME/Desktop/mtai_workspace # 进入 mtai_workspace 文件夹

sdk

出现上面绿线的两行就说明成功了.
需要等一会儿

3.在 mtai_workspace 文件夹中下载魔笔马良项目文件

继续在终端Terminal里一行一行输入以下内容:

git clone https://github.com/MooreThreads/MobiMaliangSDK #下载项目
cd MobiMaliangSDK                # 进入下载好的魔笔马良项目文件夹

在这里插入图片描述

4.安装 GPU 驱动,如果遇到报错了,则[多次尝试]
sudo bash install_driver.sh 

如果出现 Configuring lightdm 的UI,请将 Default display manager 选成 lightdm, 只有当安装流程中出现了 lightdm 这个选择流程的时候, 才算把摩尔线程的 GPU 驱动完整安装.

如果没出现,则[多次尝试]. 直到出现,并且最后输入以下内容才算成功.
lightdm

并且输出以下内容:
installdriver

出现之后, 重启 Ubuntu.

reboot

重启完毕之后, 验证驱动 (GPU Driver ) 是否安装成功
打开终端 Terminal 输入以下内容:

mthreads-gmi

mthreads-gmi

输入内容类似则成功.

5.安装 Docker

打开终端 Terminal, 输入以下内容:

sudo apt install docker.io                  # 安装Docker
sudo docker ps                        # 检查Docker是否安装成功

dockerinstallation

6.拉取魔笔马良官方镜像

重要: 我们最开始向官方申请的开发者账号现在就得用上了
请编辑 install.sh 第18行,并替换账号密码
usrpasswd

打开终端 Terminal, 输入以下内容:

cd $HOME/Desktop/mtai_workspace/MobiMaliangSDK
sudo bash install.sh

install

7.运行镜像

在终端执行以下指令

sudo docker run -id --name mtai_workspace --privileged -e MTHREADS_VISIBLE_DEVICES=all -p 1001:1001 -p 1002:1002 -p 1003:1003 -p 1004:1004 -p 1005:1005 -v ~/Desktop/mtai_workspace:/mtai_workspace:rw --shm-size 64G registry.mthreads.com/mcconline/musa-pytorch-release-public:v1.0.0sudo docker exec -it mtai_workspace /bin/bash

intodocker
然后继续输入

cd /mtai_workspace/MobiMaliangSDK/
bash install_inside_docker.sh

installinside

我们继续输入这些以下内容, 出现错误❌的话, 忽视就好了

apt-get update && apt-get install ffmpeg libsm6 libxext6 -ypip install -r requirements.txt --no-depsmkdir -p ~/.cache/huggingface/hub/;rm -rf ~/.cache/huggingface/hub/models--openai--clip-vit-large-patch14/;cp -r models/tools/models--openai--clip-vit-large-patch14/ ~/.cache/huggingface/hub/
8.打开魔笔马良 WEB UI

在终端继续执行:

cd /mtai_workspace/MobiMaliangSDK/
streamlit run frontend/main.py --server.port 1001

link

出现了图中的网页连接. 用Ctrl+鼠标点击即可打开. 或者浏览器地址中输入,localhost:1001 即可访问 WebUI

如果要停止 WebUI 服务,回到终端 Terminal 按 Ctrl + C 即可;
停止服务后,如果要退出容器 container,输入 exit 即可

9.愉快画图

点开了 WEB UI 之后, 因为官方没有自带模型 model. 所以会报错.
model wrong

我们需要自己去下载模型, 并且放到这个目录下

$HOME/Desktop/mtai_workspace/MobiMaliangSDK/models/Stable-diffusion/ 

把模型放到上面的文件夹之后,推荐重启容器
回到终端 Terminal, 按下 Ctrl+C, 然后输入以下内容,重新启动 WEB UI.

streamlit run frontend/main.py --server.port 1001

success
等待 running 结束之后点击随机描述,点击创作就可以使用了。
running

Issues

0. 模型在哪里下载?
----------模型下载----------
1. Stable Diffusion: 生图底模,ckpt和safetensors皆可,可从tusiart.com、civitai.com等网站下载,例如GhostMix2.0,下载后放至models/Stable-diffusion/
2. Controlnet:
canny:实现ControlNet边缘控制生成,下载后放至models/controlnet/canny_v11/
openpose:实现ControlNet骨骼控制生成,下载后放至models/controlnet/openpose_v11/
tile:实现ControlNet Tile精绘功能,下载后放至models/controlnet/tile_v11/
mlsd:实现ControlNet边线控制生成,下载后放至models/controlnet/mlsd_v11/
骨骼检测模型:body_pose_model.pth、facenet.pth、hand_pose_model.pth,分别实现全身、面部、手部的检测,下载后放至models/controlnet/annotators/
边线检测模型:mlsd_large_512_fp32.pth,下载后放至models/controlnet/annotators/
3. LoRA: safetensors格式,可从tusiart.com、civitai.com等网站下载,下载后放至models/lora/
4. Textural Inversion:pt格式,可从tusiart.com、civitai.com等网站下载,下载后放至models/embeddings/
5. 超分: RealESRGAN_x4plus,更多下载链接:https://huggingface.co/schwgHao/RealESRGAN_x4plus/blob/main/RealESRGAN_x4plus.pth,下载后放至models/tools/
6. 图生文本:DeepDanbooru,更多下载链接:https://huggingface.co/Renqf/model-resnet_custom_v3.pt/blob/main/model-resnet_custom_v3.pt,下载后放至models/tools/
7. 翻译: 支持中文prompt和negative prompt,请下载https://huggingface.co/Helsinki-NLP/opus-mt-zh-en/blob/main/pytorch_model.bin,下载后放至models/tools/zh2en/

请您在使用推荐的模型前,仔细阅读并理解以下事宜:

  1. 推荐的模型为第三方软件或代码库,客户在下载使用推荐的模型时,需要了解并遵守该模型的用户协议或开源协议要求
  2. 如果您计划使用推荐的模型,请确保您的使用符合相应的用户协议或开源协议要求。某些开源协议可能对商业化使用有特定的限制或要求您公开源代码等。您需要自行承担了解和遵守这些规定的责任
  3. 公司不对推荐的模型作任何明示或暗示的保证或承诺。在使用这些模型时,您应自行承担风险和责任。公司不承担因使用这些模型而导致的任何直接或间接损失或损害

1. 为什么安装好驱动, 重启之后开不了机了?
- 比如出现现在的界面:
fail boot

- 尝试在卡住的界面按下 Ctrl+Alt+F2,输入Ubuntu账户密码,登陆到终端Terminal, 然后将文件恢复回未修改
输入以下命令
1. `sudo mv /boot/initrd.img-5.4.0-166-generic /boot/initrd.img-5.4.0-166-generic.bkp.new`
2. `sudo mv /boot/initrd.img-5.4.0-166-generic.old-dkms /boot/initrd.img-5.4.0-166-generic`
3. `reboot`![fixboot](https://img-blog.csdnimg.cn/301e17f33697409b81fb42c85e1b4a75.png#pic_center)

2. 为什么我没有出现选择 Lightdm 的过程?
- 推荐多次运行[多次尝试](###### 4. 安装 GPU 驱动,如果遇到报错了, 就重新输入此命令 等待其安装完成), 一般三至四次就会出现 lightdm 选择的流程.
- 然后此次摩尔线程GPU的驱动才算成功安装.

3. 为什么我的 Ubuntu to go 存储很快就没了?
1. 这个问题可能是系统log文件太大导致的, 用命令 df -h 查看一下,
2. 如果发现 /var/log/syslog 和 /var/log/kern.log 存储占用很大. 可以继续查看是什么造成的.
3. tail -f /var/log/syslog # 查看 syslog 的错误原因
4. tail -f /var/log/kern.log # 查看 kern.log 的错误原因
pcie
5. 如果是 PCIe Bus Error 可以参考一下这个帖子# 解决Ubuntu下的PCIE Bus Error问题

4. 为什么魔笔马良偶尔还会报错 ml is not defined
1. 检查模型是否包含中文, 请确保模型名字不含中文或者空格等.
2. 然后重新启动 WEB UI 服务, 参考[第九步](##### 9.愉快画图).
mlnotdefined

5. 报错 MUSA out of memory.
1. 这个错误是因为显存占用过多, 没有办法再分配显存用于画图了
2. 解决办法: 调整图片分辨率到最小, 比如 512 * 512 调整至 384 * 384. 然后随便跑一张图. 通过这个方式主动刷新 GPU 显存使用情况. 从而将显存占用降低.
out of memory

Finally:

UbuntuDeploy.sh 文件内容

#!/bin/bashecho "--------- 开始尝试安装魔笔马良环境 ------------"mbmlpath=$HOME/Desktop/mtai_workspace/MobiMaliangSDK# 创建mtai_workspace文件夹mkdir -pv $mbmlpath # 创建mtai_workspace文件夹echo "------------- 下载项目文件 -------------------"
echo "------------- 下载项目文件 -------------------"
echo "------------- 下载项目文件 -------------------"max_attempts=3
attempts=0while [ $attempts -lt $max_attempts ]; do# 删除现有目录rm -rf "$mbmlpath"# 尝试第一个 git clonegit clone https://github.com/MooreThreads/MobiMaliangSDK "$mbmlpath"# 检查第一个 git clone 是否成功if [ $? -eq 0 ]; thenecho "第一个 git clone 成功。"breakelseecho "第一个 git clone 失败,尝试第二个 git clone..."# 尝试第二个 git clonegit clone https://gitee.com/Credhat/MobiMaliangSDK.git "$mbmlpath" # 下载项目,更换gitee,更适合中国# 检查第二个 git clone 是否成功if [ $? -eq 0 ]; thenecho "第二个 git clone 成功。"breakelseecho "第二个 git clone 也失败。"((attempts++))sleep 5 # 等待一段时间再重试,可以根据需要调整等待时间fifi
doneif [ $attempts -eq $max_attempts ]; thenecho "已达到最大尝试次数,仍未成功。请检查网络或手动下载项目。"exit 1
ficd $mbmlpath # 进入下载好的魔笔马良项目文件夹echo "------------- 安装 GPU 驱动-------------------"
echo "------------- 安装 GPU 驱动-------------------"
echo "------------- 安装 GPU 驱动-------------------"max_attempts=3
attempts=0while [ $attempts -lt $max_attempts ]; do# 安装 GPU 驱动sudo bash install_driver.sh -y# 运行 mthreads-gmimthreads-gmiif [ $? -eq 0 ]; thenecho "GPU 驱动安装并检查成功。"breakelseecho "尚未发现 GPU 设备,重新执行安装..."((attempts++))sleep 5 # 等待一段时间再重试,可以根据需要调整等待时间fi
doneif [ $attempts -eq $max_attempts ]; thenecho "已达到最大尝试次数,仍未成功。请手动检查和处理。"
fi# 安装 Docker
sudo apt install docker.io # 安装Docker
sudo docker ps             # 检查Docker是否安装成功max_attempts=3
attempts=0while [ $attempts -lt $max_attempts ]; dowget "https://gitee.com/Credhat/MobiMaliangSDK/raw/main/UbuntuDeploy2.sh" -O UbuntuDeploy2.sh# 检查 wget 命令返回的状态if [ $? -eq 0 ]; thenecho "下载成功,已写入 UbuntuDeploy2.sh。"breakelseecho "下载失败,尝试重新下载..."((attempts++))sleep 5 # 等待一段时间再重试,可以根据需要调整等待时间fi
doneif [ $attempts -eq $max_attempts ]; thenecho "已达到最大尝试次数,下载仍未成功。请检查网络连接。"
fisudo chmod +x ./UbuntuDeploy2.shecho "-------------------------------------------"
echo "-------------------------------------------"
echo 第一阶段自动安装结束.
echo 第一阶段自动安装结束.
echo "-------------------------------------------"
echo 需要您手动将 install.sh 文件里的账户和密码替换为你的开发者账户密码
echo 需要您手动将 install.sh 文件里的账户和密码替换为你的开发者账户密码
echo "-------------------------------------------"
echo 然后再次在终端中执行 ./UbuntuDeploy2.sh
echo 然后再次在终端中执行 ./UbuntuDeploy2.sh

UbuntuDeploy2.sh 文件内容

#!/bin/bashecho "---------- 如果不行的,推荐从本教程的手动安装地6步开始手动安装 ----------"
echo "---------- 如果不行的,推荐从本教程的手动安装地6步开始手动安装 ----------"
echo "---------- 如果不行的,推荐从本教程的手动安装地6步开始手动安装 ----------"echo "-------- 开始尝试安装魔笔马良环境 2 -----------"
mbmlpath=$HOME/Desktop/mtai_workspace/MobiMaliangSDK
workpath=$HOME/Desktop/mtai_workspace
# 拉取魔笔马良官方镜像
cd $mbmlpath
sudo bash install.sh# 检查返回状态
if [ $? -eq 0 ]; thenecho "魔笔马良官方镜像拉取成功。"
elseecho "拉取镜像时出现错误,请检查安装脚本和网络连接。"echo "请检查是否将 install.sh 文件里的账户和密码替换为你的开发者账户密码"echo "比如: docker login -u 'Abc' -p 'password' registry.mthreads.com"break
fi# 启动魔笔马良镜像
sudo docker run -id --name mtai_workspace --privileged -e MTHREADS_VISIBLE_DEVICES=all -p 1001:1001 -p 1002:1002 -p 1003:1003 -p 1004:1004 -p 1005:1005 -v $workpath:/mtai_workspace:rw --shm-size 64G registry.mthreads.com/mcconline/musa-pytorch-release-public:v1.0.0
# 进入魔笔马良镜像# 在容器中执行多个命令
docker exec -it mtai_workspace /bin/bash -c "\cd /mtai_workspace/MobiMaliangSDK/ && \bash install_inside_docker.sh
"docker exec -it mtai_workspace /bin/bash -c "\apt-get update && apt-get install ffmpeg libsm6 libxext6 -y && \pip install -r requirements.txt --no-deps && \mkdir -p ~/.cache/huggingface/hub/ && \rm -rf ~/.cache/huggingface/hub/models--openai--clip-vit-large-patch14/ && \cp -r models/tools/models--openai--clip-vit-large-patch14/ ~/.cache/huggingface/hub/
"docker exec -it mtai_workspace /bin/bash -c "cd /mtai_workspace/MobiMaliangSDK/ && \streamlit run frontend/main.py --server.port 1001
"echo "---------- 如果不行的,推荐从本教程的手动安装地6步开始手动安装 ----------"
echo "---------- 如果不行的,推荐从本教程的手动安装地6步开始手动安装 ----------"
echo "---------- 如果不行的,推荐从本教程的手动安装地6步开始手动安装 ----------"

这篇关于[摩尔线程] 魔笔马良 U盘 Ubuntu系统部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415732

相关文章

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文