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

1 篇文章 0 订阅

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.0

sudo 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 -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/
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.pthfacenet.pthhand_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/bash

echo "--------- 开始尝试安装魔笔马良环境 ------------"

mbmlpath=$HOME/Desktop/mtai_workspace/MobiMaliangSDK

# 创建mtai_workspace文件夹

mkdir -pv $mbmlpath # 创建mtai_workspace文件夹

echo "------------- 下载项目文件 -------------------"
echo "------------- 下载项目文件 -------------------"
echo "------------- 下载项目文件 -------------------"

max_attempts=3
attempts=0

while [ $attempts -lt $max_attempts ]; do
    # 删除现有目录
    rm -rf "$mbmlpath"
    # 尝试第一个 git clone
    git clone https://github.com/MooreThreads/MobiMaliangSDK "$mbmlpath"
    
    # 检查第一个 git clone 是否成功
    if [ $? -eq 0 ]; then
        echo "第一个 git clone 成功。"
        break
    else
        echo "第一个 git clone 失败,尝试第二个 git clone..."
        # 尝试第二个 git clone
        git clone https://gitee.com/Credhat/MobiMaliangSDK.git "$mbmlpath" # 下载项目,更换gitee,更适合中国
        
        # 检查第二个 git clone 是否成功
        if [ $? -eq 0 ]; then
            echo "第二个 git clone 成功。"
            break
        else
            echo "第二个 git clone 也失败。"
            ((attempts++))
            sleep 5 # 等待一段时间再重试,可以根据需要调整等待时间
        fi
    fi
done

  

if [ $attempts -eq $max_attempts ]; then
    echo "已达到最大尝试次数,仍未成功。请检查网络或手动下载项目。"
    exit 1
fi

cd $mbmlpath # 进入下载好的魔笔马良项目文件夹


echo "------------- 安装 GPU 驱动-------------------"
echo "------------- 安装 GPU 驱动-------------------"
echo "------------- 安装 GPU 驱动-------------------"

max_attempts=3
attempts=0

while [ $attempts -lt $max_attempts ]; do
    # 安装 GPU 驱动
    sudo bash install_driver.sh -y

    # 运行 mthreads-gmi
    mthreads-gmi

    if [ $? -eq 0 ]; then
        echo "GPU 驱动安装并检查成功。"
        break
    else
        echo "尚未发现 GPU 设备,重新执行安装..."
        ((attempts++))
        sleep 5 # 等待一段时间再重试,可以根据需要调整等待时间
    fi
done

if [ $attempts -eq $max_attempts ]; then
    echo "已达到最大尝试次数,仍未成功。请手动检查和处理。"
fi

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

max_attempts=3
attempts=0
  
while [ $attempts -lt $max_attempts ]; do
    wget "https://gitee.com/Credhat/MobiMaliangSDK/raw/main/UbuntuDeploy2.sh" -O UbuntuDeploy2.sh

    # 检查 wget 命令返回的状态
    if [ $? -eq 0 ]; then
        echo "下载成功,已写入 UbuntuDeploy2.sh。"
        break
    else
        echo "下载失败,尝试重新下载..."
        ((attempts++))
        sleep 5 # 等待一段时间再重试,可以根据需要调整等待时间
    fi
done

  
if [ $attempts -eq $max_attempts ]; then
    echo "已达到最大尝试次数,下载仍未成功。请检查网络连接。"
fi

sudo chmod +x ./UbuntuDeploy2.sh

echo "-------------------------------------------"
echo "-------------------------------------------"
echo 第一阶段自动安装结束.
echo 第一阶段自动安装结束.
echo "-------------------------------------------"
echo 需要您手动将 install.sh 文件里的账户和密码替换为你的开发者账户密码
echo 需要您手动将 install.sh 文件里的账户和密码替换为你的开发者账户密码
echo "-------------------------------------------"
echo 然后再次在终端中执行 ./UbuntuDeploy2.sh
echo 然后再次在终端中执行 ./UbuntuDeploy2.sh

UbuntuDeploy2.sh 文件内容

#!/bin/bash

echo "---------- 如果不行的,推荐从本教程的手动安装地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 ]; then
    echo "魔笔马良官方镜像拉取成功。"
else
    echo "拉取镜像时出现错误,请检查安装脚本和网络连接。"
    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步开始手动安装 ----------"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值