【クラウド】ColabからHugging Faceにモデルをアップロードする方法

この記事はで読むことができます。

お疲れ様です。へむろっくです。

今回は『ColabからHugging Faceにモデルをアップロードする方法』について解説していきます。


ノートのダウンロードと関連記事

こちらのリンクからColabのノートを開いてください。

【テンプレあり】Google Colabで画像作成をする方法

Colabの起動等はこちらをご覧ください。


今回のモデルアップロードについて

注意事項

  • Huggingface Hubを使う場合は5GBを超えるモデルをアップロードできません。
  • 超える場合はGitを用いてアップロードしてください

今回紹介する方法は5GB以下のモデルをアップロードする際に使用できる方法です。

5GBを超える場合は、Toolkitで軽くするかDriveにアップするかGitを使うかしないとアップロードできません。

Huggingfaceの登録とトークン取得

Huggingfaceとは、モデル等をアップロードできるサイトです。

AI版GitHubです。

数GBあるモデルがアップロードし放題(!???)なのでモデル保管として使っている方もいますね。

何はともあれまず登録していきます。

サイトにアクセスします。

『Sign in』をクリック。

メールアドレス、パスワードを入力。

『Username』と『Full name』を入力。
(Full nameは変更回数制限あるので注意です。)

登録できたら、プロフィールを開き『Setting』→『Access Tokens』を開きます。

『New Token』からトークンを作成します。

このとき、Roleを『write』に変更してください。
(書き込むので)

トークンができたら『Show』の横の四角が重なってるマークをクリックしコピーします。

これでトークンの発行は完了です。

続いて、リポジトリを作成します。

画像の通りに進み作成していきます。

  • リポジトリ: ファイルを保存しておく場所だと思ってもらえれば大丈夫です。

名前は何でも大丈夫です。

ライセンスは『モデル配布したい』等で公開する場合は必要です。

見られたくないモデルの場合はprivateに設定しておくと安心です(検索には引っかかります)

設定できたら『Create model』で作成。

完成するとこのような画面になります。

モデル名のところからコピーしておきましょう。


Huggingfaceへアップロード準備

それでは始めていきます。

上のNotebookを基準に進めていきます。

このノートでWebUI起動→モデルアップロードまでできます。


まずは『Huggingfaceにアップロード』のセルを実行します。(下の方にあります)

実行すると🤗マークの下に『トークンいれてね』と出てくるので入力します。

トークンは先程発行したものです!!

ログインに成功すると『Login successful』と出力されるのでわかりやすいですね。

ログインできたら下のセルに移ります。

?????🤔

わかりにくいので解説します。

  • Model_Directory: WebUIのモデルファイルがあるパスを入力。基本そのままでOKです。
  • Upload_File: アップロードするモデルのパスを入力。
  • HF_File_Name: Huggingfaceでのモデルの名前です。
  • User_Repository: Huggingfaceリポジトリの名前。(先程作ったもの)
  • Token: Huggingfaceのトークン

こんな感じで入力していただけるとアップロードできます。

モデルの参照元をGoogleDrive等にしている方は別途変更お願いします。


アップロードと確認

情報入力後、実行ボタンを押します。

暫く待つと、このような青いバーが出てきます。

これが出たらアップロード中ですのでもう少々待ちます。

この様に緑に変われば完了です!
アップロードされたか確認してみます。

ちゃんとアップロードされてますね!!

これでアップロードは完了です。


コードまとめ

別のノートを使っている方やPaperspaceで使う方向けに、コピペできるように貼っておきます。

Colab用
#@title huggingfaceにアップロード(5GB未満)
#@markdown Hugging Face公式解説: https://huggingface.co/course/ja/chapter4/3?fw=pt

#@markdown 実行後トークンを貼り付けてください(Write)


!pip install --upgrade huggingface_hub

from huggingface_hub import notebook_login
notebook_login()
Model_Directory = "/content/stable-diffusion-webui/models/Stable-diffusion" #@param {type:"string"}
Upload_File = "/content/stable-diffusion-webui/models/Stable-diffusion/Model.ckpt" #@param {type:"string"}
HF_File_Name = "Model.ckpt" #@param {type:"string"}
User_Repository ="username/xxxx"  #@param {type:"string"}
Token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" #@param {type:"string"}

%cd {Model_Directory}

from huggingface_hub import upload_file
upload_file(path_or_fileobj=Upload_File, path_in_repo=HF_File_Name, repo_id=User_Repository, token=Token)
Paperspace等
!pip install --upgrade huggingface_hub
from huggingface_hub import notebook_login
notebook_login()
from huggingface_hub import upload_file
upload_file(path_or_fileobj="[モデル名]", path_in_repo="[HFでのファイル名]", repo_id="[ユーザー名/リポジトリ名]", token="[トークン]")

[ ] 不要です。


まとめ

面倒だったuploadもコード一つでできるので便利ですね🤗

ぜひお試しください!!


参考サイト

3 COMMENTS

アバター web,

Because the admin of this site is working, no doubt very shortly
it will be renowned, due to its feature contents.

返信する
アバター web,

Hi, all the time i used to check webpage posts
here early in the dawn, for the reason that i
like to find out more and more.

返信する
アバター s gate

This article opened my eyes, I can feel your mood, your thoughts, it seems very wonderful. I hope to see more articles like this. thanks for sharing.

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です