国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

M1芯片Mac book pro部署stable diffusion模型

這篇具有很好參考價值的文章主要介紹了M1芯片Mac book pro部署stable diffusion模型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

使用的電腦配置:

本文中,我的實驗環(huán)境是 Apple M1CPU 的 MacBook Pro,機器內(nèi)存容量為 16GB。同樣還能夠運行本文的設(shè)備包含:

  • 2022 年生產(chǎn)的MacBook Air (M2)、13寸的 MacBook Pro (M2)、Mac Studio (2022)
  • 2021 年生產(chǎn)的 14寸和16寸的 MacBook Pro、24寸的 iMac (M1)
  • 2020 年生產(chǎn)的 Mac mini (M1)、MacBook Air (M1)、13寸的 MacBook Pro (M1)
  • 當(dāng)然,還有搭載了 M1 芯片的第五代 iPad Pro

第一步 基礎(chǔ)環(huán)境準(zhǔn)備

想要在 ARM 芯片的 Mac 設(shè)備上運行這個模型應(yīng)用,我們需要做幾件事:

  • 準(zhǔn)備 Python 基礎(chǔ)運行環(huán)境
  • 準(zhǔn)備軟件運行所需要的軟件包

首先需要安裝anoconda,可以使用conda來簡化安裝,具體方法參考如下鏈接用讓新海誠本人驚訝的 AI 模型制作屬于你的動漫視頻 - 蘇洋博客

# 先進(jìn)行 conda 的安裝
bash Anaconda3-2022.05.(你的安裝文件名稱).sh 

執(zhí)行完成后可以通過conda info指令來檢查anaconda是否安裝成功

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

接下來,我們來通過?conda?命令,來快速創(chuàng)建我們所需要的模型應(yīng)用程序所需要的運行環(huán)境

conda create -n corem1_stable_diffusion python=3.8 -y

執(zhí)行上述命令后會得到如下的結(jié)果:

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

?注意我們在這里創(chuàng)建的環(huán)境叫做coreml_stable_diffusion所以會在anaconda子級下創(chuàng)建相應(yīng)的文件夾

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

?直到提示完成。下一步激活我們創(chuàng)建的環(huán)境。執(zhí)行如下命令:

conda activate coreml_stable_diffusion

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

?首次執(zhí)行會彈出一堆信息,不用管。當(dāng)命令執(zhí)行完畢之后,我們會看到終端前的展示字符串會出現(xiàn)變化,帶上了我們創(chuàng)建的環(huán)境名,這就表示我們的環(huán)境已激活了。

****另如果你經(jīng)常在 MacOS 上折騰 “Huggingface” 等項目,尤其是運行相對新一些的模型項目,大概率會遇到?“Failed building wheel for tokenizers”這個問題??梢詤⒖既缦挛恼陆鉀Q。在搭載 M1 及 M2 芯片 MacBook設(shè)備上玩 Stable Diffusion 模型 - 蘇洋博客

第二步 完成 Stable Diffusion 項目的初始化

我們可以通過?git clone?命令,或者直接下載包含代碼的壓縮包,來獲得項目的代碼:

git clone https://github.com/apple/ml-stable-diffusion.git

如果沒有下載git,需要先執(zhí)行安裝命令?git lfs install。?Git LFS(Large?File?Storage,大型文件存儲)是一個相對于GitHub高級開發(fā)者非常重要的東西。當(dāng)一個項目的最大文件超過128MB,那么Git就會報錯。這時候,就要請出我們的Git LFS了。

如果不想下載也可參考pip install git(pip直接安裝git上的項目)_噸噸不打野的博客-CSDN博客直接通過pip下載git上的項目。

待下載完成后,cd到相應(yīng)項目文件目錄下,再下載所需文件。

cd ml-stable-diffusion
pip install -r requirements.txt

至此,基礎(chǔ)環(huán)境準(zhǔn)備工作就都就緒了。

第三步 轉(zhuǎn)換和運行模型應(yīng)用

基礎(chǔ)環(huán)境就緒之后,我們需要轉(zhuǎn)換 Huggingface 上的 PyTorch / TF 開放模型到 Apple Core ML 模型格式。

轉(zhuǎn)換 PyTorch 模型為 Apple Core ML 模型

項目倉庫中?python_coreml_stable_diffusion/torch2coreml.py?文件中,封裝了調(diào)用?coremltools.models.MLModel?工具方法來轉(zhuǎn)換其他格式模型到 Core ML 模型的邏輯如下:

coreml_model = coremltools.models.MLModel(...)
coreml_model.convert(...)
coreml_model.save(...)

所以,作為用戶我們的使用就比較簡單了,只需要執(zhí)行下面的命令:

python -m python_coreml_stable_diffusion.torch2coreml --convert-unet --convert-text-encoder --convert-vae-decoder --convert-safety-checker -o ./models

我在首次執(zhí)行時報出如下錯:M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

Token is required ('token=True"), but no token found. You need to provide a token or be logged in to Hugging Face with "hug gingface-cli login' or 'huggingface_hub.login'. See https://huggingface.co/settings/tokens.?所以我們首先要去官網(wǎng)注冊hugging face并登錄。然后在標(biāo)紅鏈接頁面下創(chuàng)建一個tokens,之后點擊后面的復(fù)制即可。然后在命令窗口執(zhí)行如下命令

huggingface-cli login

如下圖是命令執(zhí)行結(jié)果,圓圈后有一處空白是填token的地方,點擊直接粘貼,然后enter即可。之前在這兒浪費了很多的時間,因為你粘貼后的token在窗口上是看不到的,不知道到底輸入沒輸入成功,所以就來回的多次粘貼導(dǎo)致token不正確。提示token is valid之后只需等待即可。命令執(zhí)行會比較久,十來分鐘左右,包含從 Huggingface 下載模型,加載并轉(zhuǎn)換模型格式。默認(rèn)情況下,模型使用的是?CompVis/stable-diffusion-v1-4,如果你希望使用其他的模型,可以通過添加?--model-version?參數(shù),支持的模型版本除了默認(rèn)的 “v1.4” 之外,還有:?runwayml/stable-diffusion-v1-5?和?stabilityai/stable-diffusion-2-base。從hugging face上下載模型即可。

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

?命令執(zhí)行完畢,我們將在?./models?目錄,得到必須的四個模型,尺寸都不算?。?/p>

580M	./models/Stable_Diffusion_version_CompVis_stable-diffusion-v1-4_safety_checker.mlpackage
235M	./models/Stable_Diffusion_version_CompVis_stable-diffusion-v1-4_text_encoder.mlpackage
1.6G	./models/Stable_Diffusion_version_CompVis_stable-diffusion-v1-4_unet.mlpackage
 95M	./models/Stable_Diffusion_version_CompVis_stable-diffusion-v1-4_vae_decoder.mlpackage

第四步 運行轉(zhuǎn)換后的模型進(jìn)行驗證

完成模型構(gòu)建之后,我們可以運行模型,來驗證模型轉(zhuǎn)換是否成功:

python -m python_coreml_stable_diffusion.pipeline --prompt "magic book on the table" -i ./models -o ./output --compute-unit ALL --seed 93

在上面的命令中,我們做了幾件事,告訴程序使用?./models?目錄中的模型進(jìn)行計算,將生成的圖譜保存在?./output?目錄中,允許使用所有類型的運算單元(CPU/GPU),使用一個固定的隨機數(shù)種子,確保每次生成的結(jié)果都是一樣的,方便我們進(jìn)行測試復(fù)現(xiàn)。當(dāng)然,最重要的是,我們將要生成圖片的文本描述寫在?--prompt?參數(shù)中,告訴模型應(yīng)用要生成“一本放在桌子上的魔法書”。如果你的設(shè)備只有 8GB 的內(nèi)存,這里需要調(diào)整下?--compute-unit?參數(shù),指定參數(shù)值為?CPU_AND_NE。

程序運行之后,需要等幾分鐘:

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

最后命令窗口出現(xiàn)saving generated image to……即表示生成成功。我們將能夠在?./output?目錄中,找到生成的圖片。

但是,每次使用都要等三四分鐘才能得到圖片,未免太慢了。而且想生成不同的圖,不論是需要調(diào)整“隨機數(shù)種子”,還是要改變“描述文本”,都得在命令行中完成,遇到文本特別長的時候,非常不方便。?

第五步 為 ML Stable Diffusion 編寫一個 Web UI

通過?gradio?工具,能夠為 Python 應(yīng)用,快速創(chuàng)建簡潔美觀的 Web 界面。Huggingface 中非常多的應(yīng)用界面都是用它完成的。鏈接???GradioM1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

為了解決上面的問題,我們可以用它來創(chuàng)建一個 Web 界面,把 ML Stable Diffusion 的圖片生成和 Web 界面“綁定”到一起。實現(xiàn)代碼如下:?

import python_coreml_stable_diffusion.pipeline as pipeline

import gradio as gr
from diffusers import StableDiffusionPipeline

def init(args):
    pipeline.logger.info("Initializing PyTorch pipe for reference configuration")
    pytorch_pipe = StableDiffusionPipeline.from_pretrained(args.model_version,
                                                           use_auth_token=True)

    user_specified_scheduler = None
    if args.scheduler is not None:
        user_specified_scheduler = pipeline.SCHEDULER_MAP[
            args.scheduler].from_config(pytorch_pipe.scheduler.config)

    coreml_pipe = pipeline.get_coreml_pipe(pytorch_pipe=pytorch_pipe,
                                  mlpackages_dir=args.i,
                                  model_version=args.model_version,
                                  compute_unit=args.compute_unit,
                                  scheduler_override=user_specified_scheduler)


    def infer(prompt, steps):
        pipeline.logger.info("Beginning image generation.")
        image = coreml_pipe(
            prompt=prompt,
            height=coreml_pipe.height,
            width=coreml_pipe.width,
            num_inference_steps=steps,
        )
        images = []
        images.append(image["images"][0])
        return images


    demo = gr.Blocks()

    with demo:
        gr.Markdown(
            "<center><h1>Core ML Stable Diffusion</h1>Run Stable Diffusion on Apple Silicon with Core ML</center>")
        with gr.Group():
            with gr.Box():
                with gr.Row():
                    with gr.Column():
                        with gr.Row():
                            text = gr.Textbox(
                                label="Prompt",
                                lines=11,
                                placeholder="Enter your prompt",
                            )
                        with gr.Row():
                            btn = gr.Button("Generate image")
                        with gr.Row():
                            steps = gr.Slider(label="Steps", minimum=1,
                                            maximum=50, value=10, step=1)
                    with gr.Column():
                        gallery = gr.Gallery(
                            label="Generated image", elem_id="gallery"
                        )

            text.submit(infer, inputs=[text, steps], outputs=gallery)
            btn.click(infer, inputs=[text, steps], outputs=gallery)

    demo.launch(debug=True, server_name="0.0.0.0")


if __name__ == "__main__":
    parser = pipeline.argparse.ArgumentParser()

    parser.add_argument(
        "-i",
        required=True,
        help=("Path to input directory with the .mlpackage files generated by "
              "python_coreml_stable_diffusion.torch2coreml"))
    parser.add_argument(
        "--model-version",
        default="CompVis/stable-diffusion-v1-4",
        help=
        ("The pre-trained model checkpoint and configuration to restore. "
         "For available versions: https://huggingface.co/models?search=stable-diffusion"
         ))
    parser.add_argument(
        "--compute-unit",
        choices=pipeline.get_available_compute_units(),
        default="ALL",
        help=("The compute units to be used when executing Core ML models. "
              f"Options: {pipeline.get_available_compute_units()}"))
    parser.add_argument(
        "--scheduler",
        choices=tuple(pipeline.SCHEDULER_MAP.keys()),
        default=None,
        help=("The scheduler to use for running the reverse diffusion process. "
             "If not specified, the default scheduler from the diffusers pipeline is utilized"))

    args = parser.parse_args()
    init(args)

我們將上面的代碼保存為?web.py,同樣放在項目的?python_coreml_stable_diffusion?目錄中。然后執(zhí)行命令:?

python -m python_coreml_stable_diffusion.web -i ./models --compute-unit ALL

執(zhí)行日志結(jié)果如下:

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

在日志的結(jié)束處,我們看到程序啟動了 Web 服務(wù),并監(jiān)聽了 7860 端口。打開瀏覽器,訪問這個地址,我們就能看到預(yù)期中的 Web UI 啦。注意該URL可能某些瀏覽器打不開,我的Mac上Safari瀏覽器就打不開,而edge瀏覽器就可以。

M1芯片Mac book pro部署stable diffusion模型,AI作畫,stable diffusion

?想要生成圖片只需要調(diào)整文本框中的 “prompt” 文本,然后點擊 “Generate image” ,等待結(jié)果展示在頁面上就行了,不用去調(diào)整命令行,也不用去翻找文件夾里的圖片了。并且,因為我們將程序當(dāng)服務(wù)運行了起來,被模型加載只需要一次,不再需要像上文一樣,每次生成圖片都要先加載模型,再進(jìn)行計算,能節(jié)約不少時間。

部分內(nèi)容來自文章:在搭載 M1 及 M2 芯片 MacBook設(shè)備上玩 Stable Diffusion 模型 - 蘇洋博客文章來源地址http://www.zghlxwxcb.cn/news/detail-610882.html

到了這里,關(guān)于M1芯片Mac book pro部署stable diffusion模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【AI作畫】使用DiffusionBee with stable-diffusion在mac M1平臺玩AI作畫

    【AI作畫】使用DiffusionBee with stable-diffusion在mac M1平臺玩AI作畫

    DiffusionBee下載地址 運行DiffusionBee的硬性要求:MacOS系統(tǒng)版本必須在12.3及以上 DBe安裝完成后,去C站挑選自己喜歡的圖畫風(fēng)格,下載對應(yīng)的模型,然后將模型添加進(jìn)去,如何添加? C站傳送門 1.點擊Model 2.點擊最底部Add New Model,進(jìn)入Setting頁面后點擊藍(lán)色的Add New Model按鈕 3.選中你

    2024年02月08日
    瀏覽(24)
  • 【教程】MAC m1 安裝并使用AI繪畫 stable-diffusion,交互式命令行。

    【教程】MAC m1 安裝并使用AI繪畫 stable-diffusion,交互式命令行。

    要求 macOS 12.3 Monterey 或更高版本 Python 耐心 第一步 下載模型包 在https://huggingface.co注冊 搜索stable-diffusion-v-1-4-original跳轉(zhuǎn)到頁面 點擊接受條款 點擊上面Files and versions 下載sd-v1-4.ckpt (4.27 GB)并記下保存位置 開始安裝 如果特別慢的話 一些比較正常的圖片

    2024年02月11日
    瀏覽(88)
  • 蘋果M1芯片上運行Stable Diffusion(文字作畫)

    蘋果M1芯片上運行Stable Diffusion(文字作畫)

    放到源碼目錄下的 會自定下載模型文件,有人說下載慢,時間段不同,但是我下載很快沒有啥問題? 執(zhí)行

    2024年02月12日
    瀏覽(22)
  • 基于MacBook Pro M1芯片運行chatglm2-6b大模型

    基于MacBook Pro M1芯片運行chatglm2-6b大模型

    ChatGLM2-6B代碼地址 chatglm2-6b模型地址 Mac M1芯片部署 ChatGLM2-6B 是開源中英雙語對話模型 ChatGLM-6B 的第二代版本,在保留了初代模型對話流暢、部署門檻較低等眾多優(yōu)秀特性的基礎(chǔ)之上,ChatGLM2-6B 引入了如下新特性: 更強大的性能。 更長的上下文。 更高效的推理。 更開放的協(xié)

    2024年01月25日
    瀏覽(22)
  • mac m1安裝stable-diffusion

    mac m1安裝stable-diffusion

    查詢是否安裝 安裝 使用brew下載python 下載完后后續(xù)會放入sd models目錄下 下載鏈接選擇safetensors 新建一個目錄 mkdir stable-diffusion-webui clone 把下載的model放到stable-diffusion-webui/models/Stable-diffusion下 到當(dāng)前sd目錄下執(zhí)行shell 執(zhí)行shell遇到的問題: ** error 128 443;install gfpan 卡住 需要使

    2024年02月09日
    瀏覽(19)
  • Stable-Diffusion-webui mac m1安裝

    Stable-Diffusion-webui mac m1安裝

    推薦下載器:neat download manager 安裝git python 3.10 下載地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui 我這邊是通過pycharm 通過git直接拉取到本地的,下載的,最好先建立個gitee倉庫 下載迅速(考慮到網(wǎng)速問題) 在蘋果終端輸入sudo apt install wget git python3 python3-venv 通過brew inst

    2024年02月13日
    瀏覽(21)
  • MAC搭建M1環(huán)境的stable-diffusion

    MAC搭建M1環(huán)境的stable-diffusion

    蘋果公司的程序員為 M1,M2 之類的ARM64芯片專門創(chuàng)建了一個 stable-diffusion 的倉庫: Run Stable Diffusion on Apple Silicon with Core ML 鏈接為: https://github.com/apple/ml-stable-diffusion 可以充分利用 M1 內(nèi)置的人工智能芯片(神經(jīng)網(wǎng)絡(luò)芯片), 需要轉(zhuǎn)換 PyTorch 模型為 Apple Core ML 模型。 本文基于這個倉庫進(jìn)

    2024年02月09日
    瀏覽(27)
  • Mac本地部署Stable Diffusion,超詳細(xì),含踩坑點(AI 繪畫保姆級教程)

    Mac本地部署Stable Diffusion,超詳細(xì),含踩坑點(AI 繪畫保姆級教程)

    相繼在兩個云平臺 Kaggle 和 AutoDL 上部署了 Stable Diffusion 后,這周決定再在 Mac 本地部署一下 Stable Diffusion! 其實看 Stable Diffusion WebUI 的 Github 官網(wǎng),步驟還是比較清晰簡單的。 但實際部署過程中,確實還是遇到了不少問題,所以順便將踩過的坑一一記錄了下來,應(yīng)該涵蓋了大

    2024年02月11日
    瀏覽(17)
  • M1本地部署Stable Diffusion

    M1本地部署Stable Diffusion

    參考博客: 在Mac上部署Stable Diffusion(超詳細(xì),AI 繪畫入門保姆級教程) 安裝需要的依賴庫 可能中途會存在下載報錯或者下載卡主的問題,需要切國內(nèi)源 brew進(jìn)行替換源: 最后再次嘗試下載就可以了 在Mac上部署Stable Diffusion(超詳細(xì),AI 繪畫入門保姆級教程) 克隆倉庫: 啟動web

    2024年02月07日
    瀏覽(24)
  • Mac(m1/m2)安裝stable-diffusion-webui教程

    Mac(m1/m2)安裝stable-diffusion-webui教程

    前言 內(nèi)容介紹 軟硬件需求 安裝步驟 第一步:安裝homebrew 第二步:安裝pytorch 第三步:安裝stable diffusion webui 第四步:下載ai繪圖基礎(chǔ)模型 第五步:運行 常見問題 ????????問題1:系統(tǒng)運行容易卡在gfpgan、clip,所以建議提前安裝好這些組件 ????????問題2:pip3安裝慢,

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包