はじめに
この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ステップを実施する。
-
Webでの利用規約同意:
-
入力フォームの記入内容:
画像にある入力項目は、モデルの提供元(Meta社)へ申請するための基本的な登録情報です。正確な情報を入力する必要がありますが、個人的な利用であれば以下のように入力すれば大丈夫です。

-
First Name (名)
- 例:
Taro
- 例:
-
Last Name (姓)
- 例:
Yamada
- 例:
-
Date of birth (生年月日)
- カレンダー入力欄をクリックして、ご自身の生年月日を選択してください。
-
Country (居住国)
- リストから
Japanを探して選択します。
- リストから
-
Affiliation (所属)
- 会社や大学名があれば英語で入力します。
- 個人利用の場合は、
Personal、Individual、またはNoneと入力すればOKです。
- Job title (職種)
ステータスはこのリンクから確認できます。

まだpendingですが、承認が完了すれば Colab のコードが動くようになります。
-
First Name (名)
-
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)
- Hugging Faceの設定画面で

