質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

905閲覧

自己教師有り学習のためのライブラリ"solo-learn"の使い方がわかりません

pellot

総合スコア0

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/01/05 20:10

自己教師有り学習のためのライブラリ"solo-learn"の使い方がわかりません

 様々な自己教師有り学習手法を提供してくれるライブラリの"solo-learn"で、VICRegのモデルを作成しようとしたのですがうまくできませんでした。チュートリアルのBarlow Twinsのモデルによる学習は行えたのですが、VICReg用に中身を書き換えようとしたところエラーが発生しました。どのように書き換えればVICRegを実装できるのでしょうか。
初めての質問なので至らない点がありましたらご指摘いただけると幸いです。

発生している問題・エラーメッセージ

Traceback (most recent call last): File "C:\Users\pello\AppData\Local\Temp\atom_script_tempfiles\202206-8072-kh6viu.e51yi", line 158, in <module> model = VICReg(**kwargs) File "C:\Users\pello\AppData\Local\Programs\Python\Python38\lib\site-packages\solo\methods\vicreg.py", line 49, in __init__ super().__init__(**kwargs) File "C:\Users\pello\AppData\Local\Programs\Python\Python38\lib\site-packages\solo\methods\base.py", line 215, in __init__ kwargs = self.backbone_args.copy() AttributeError: 'str' object has no attribute 'copy' [Finished in 4.017s]

該当のソースコード

python

1import ssl 2import torch 3from pytorch_lightning import Trainer 4from pytorch_lightning.callbacks import LearningRateMonitor 5from pytorch_lightning.loggers import WandbLogger 6from pytorch_lightning.plugins import DDPPlugin 7 8from solo.methods import VICReg # imports the method class 9from solo.utils.checkpointer import Checkpointer 10 11# some data utilities 12# we need one dataloader to train an online linear classifier 13# (don't worry, the rest of the model has no idea of this classifier, so it doesn't use label info) 14from solo.utils.classification_dataloader import prepare_data as prepare_data_classification 15 16# and some utilities to perform data loading for the method itself, including augmentation pipelines 17from solo.utils.pretrain_dataloader import ( 18 prepare_dataloader, 19 prepare_datasets, 20 prepare_n_crop_transform, 21 prepare_transform, 22) 23 24ssl._create_default_https_context = ssl._create_unverified_context 25 26# wandb.init(project = 'project') 27# config = wandb.config 28 29# common parameters for all methods 30# some parameters for extra functionally are missing, but don't mind this for now. 31base_kwargs = { 32 "backbone": "resnet50", 33 "backbone_args": "dict", 34 "num_classes": 1000, 35 # "cifar": True, 36 "imagenet": True, 37 "zero_init_residual": True, 38 "max_epochs": 1000, 39 "optimizer": "sgd", 40 "lars": True, 41 "lr": 0.2, 42 "gpus": "0", 43 "grad_clip_lars": True, 44 "weight_decay": 0.00001, 45 "classifier_lr": 0.5, 46 "exclude_bias_n_norm": True, 47 "accumulate_grad_batches": 1, 48 "extra_optimizer_args": {"momentum": 0.9}, 49 "scheduler": "warmup_cosine", 50 "min_lr": 0.002, 51 "warmup_start_lr": 0.0, 52 "warmup_epochs": 10, 53 "num_crops_per_aug": [2, 0], 54 "num_large_crops": 2, 55 "num_small_crops": 0, 56 "eta_lars": 0.02, 57 "lr_decay_steps": None, 58 "dali_device": "gpu", 59 "batch_size": 256, 60 "num_workers": 4, 61 "data_dir": "/data/datasets", 62 "train_dir": "imagenet/train", 63 "val_dir": "imagenet/val", 64 "dataset": "imagenet", 65 "name": "vicreg-imagenet", 66} 67 68# barlow specific parameters 69method_kwargs = { 70 "proj_hidden_dim": 2048, 71 "proj_output_dim": 2048, 72 "sim_loss_weight": 25, 73 "var_loss_weight": 25, 74 "cov_loss_weight": 1, 75} 76 77kwargs = {**base_kwargs, **method_kwargs} 78 79model = VICReg(**kwargs) 80

試したこと

importするmethodsをbarlowtwinsからVICRegに変更
kwargsのデータセットをimagenetに変更
method_kwargsをVICRegに合わせた内容に変更
missing 1 required positional argument: 'backbone_args'と言われたので「"backbone_args": "dict",」を追加

###使用したライブラリー"solo-learn"
https://solo-learn.readthedocs.io/en/latest/index.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問