0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SAM3 Google Colab エラー2件解決知見(TypeError & GatedRepoError)

0
Posted at

はじめに

このXの投稿の後にGoogle ColabでMetaの最新モデル「SAM3」を実行しようとした際に遭遇したエラーと、その解決方法をまとめました。
投稿リンク

開発環境

  • windows11
  • Google Colab
  • sam3

1. pkg_resources による TypeError

コードを実行すると、まず最初に以下のエラーが発生しました。

エラー内容

TypeError: expected str, bytes or os.PathLike object, not NoneType
...
/usr/local/lib/python3.12/dist-packages/pkg_resources/__init__.py in resource_filename

原因

sam3 のモデルビルド関数 build_sam3_image_model() は、引数を省略すると必要なファイル(BPEボキャブラリ)のパスを自動で見つけようとします。このとき pkg_resources というライブラリが使われるのですが、ColabでGithubから clone して直接 import しているような環境だと、パッケージの場所を正しく認識できずエラーになるようです。

解決策

自動検出に頼らず、ファイルのパスを直接指定してあげることで解決しました。

# 修正前
# model = build_sam3_image_model()

# 修正後:パスを明示的に渡す
bpe_path = "/content/sam3/sam3/assets/bpe_simple_vocab_16e6.txt.gz"
model = build_sam3_image_model(bpe_path=bpe_path)

これで pkg_resources の処理がスキップされ、先に進めるようになります。


2. GatedRepoError / 403 Forbidden

トラブル事象

bpe_path 指定後、モデルのダウンロードを行おうとすると HTTPError: 403 Client Error および GatedRepoError が発生する。
エラーメッセージ:

GatedRepoError: 403 Client Error.
Cannot access gated repo for url https://huggingface.co/facebook/sam3/resolve/main/config.json.
Access to model facebook/sam3 is restricted and you are not in the authorized list.

原因

Hugging Face上の facebook/sam3 モデルは「Gated Model(制限付きモデル)」であり、利用にはライセンスへの同意が必要であるため。
また、同意済みであっても、Colab環境からのリクエストに認証情報(トークン)が含まれていない場合は拒否される。

解決策

以下の2ステップを実施する。

  1. Webでの利用規約同意:

    • https://huggingface.co/facebook/sam3 にアクセス。

    • 入力フォームの記入内容:

      画像にある入力項目は、モデルの提供元(Meta社)へ申請するための基本的な登録情報です。正確な情報を入力する必要がありますが、個人的な利用であれば以下のように入力すれば大丈夫です。
      format.png

      • First Name (名)
        • 例: Taro
      • Last Name (姓)
        • 例: Yamada
      • Date of birth (生年月日)
        • カレンダー入力欄をクリックして、ご自身の生年月日を選択してください。
      • Country (居住国)
        • リストから Japan を探して選択します。
      • Affiliation (所属)
        • 会社や大学名があれば英語で入力します。
        • 個人利用の場合は、PersonalIndividual、または None と入力すればOKです。
      • Job title (職種)
        • リストからご自身の立場に一番近いものを選びます。
        • 例: Student(学生)、Developer(開発者)など。
          最後の仕上げ:
          一番下にあるチェックボックス ☑ By clicking Submit below I accept the terms... (送信ボタンを押すことでライセンス規約に同意し、Metaのプライバシーポリシーに従って情報が処理されることを認めます) にチェックを入れて、青い Submit ボタンを押してください。
          承認について:
          ボタンを押すとrequestすることができ、ページ上部の表示が変わります。
          request.png

      ステータスはこのリンクから確認できます。
      pending.png

      まだpendingですが、承認が完了すれば Colab のコードが動くようになります。

      私はrequestから5分ほどで承認完了メールがきました。
      accept.png

  2. Colabでの認証トークン設定:

    • Hugging Faceの設定画面で Read 権限のアクセストークンを発行。
    • Colabの「Secrets(鍵アイコン)」に名前 HF_TOKEN、値 トークン を登録し、ノートブックからのアクセスを許可する。
    • コード内で環境変数をロードする(huggingface_hub は自動でこれを検知する)。
      import os
      from google.colab import userdata
      # HF_TOKENを環境変数にセット
      os.environ["HF_TOKEN"] = userdata.get("HF_TOKEN")
      # モデル再実行
      model = build_sam3_image_model(bpe_path=bpe_path)
      
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?