[摩尔线程] 魔笔马良 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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J