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

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

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

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

PyTorch

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

1回答

1354閲覧

論文の再現(github)

unser

総合スコア58

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

PyTorch

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2021/09/05 14:32

編集2021/09/06 14:16

こちらの論文のギットハブ(https://github.com/jacobgil/pytorch-pruning)の手元の環境で再現を行いたいのですが,どのように実装を行えば良いか分からない状態にあります.

手元の環境はこちらです。

terminal

1$ ls 2README.md data_sh.sh finetune.py test1 tmp train.zip 3__pycache__ dataset.py prune.py test1.zip train 4$ ls train 5cats dogs 6$ ls test1 7cats dogs

おそらく,同じレポジトリ内に
データをこちら(https://www.kaggle.com/c/dogs-vs-cats/data?select=train.zip)
からダウンロードし

  • finetune.py aなど
  • train
    -- cats ---cat_0.jpg,...,
    -- dogs ---dog_0.jpg
  • test1
    -- cats ---5.jpg,...,
    -- dogs ---1.jpg,...,
    -- 途中
    を作って,

get_parserに定義されているように,

terminal

1# 2$ python3 finetune.py --train --train_path train --test_path test1

とすれば,良いと思い実装を行いましたが

terminal

1$ python3 finetune.py --train --train_path train --test_path test 2/usr/local/lib/python3.9/site-packages/torchvision/transforms/transforms.py:310: UserWarning: The use of the transforms.Scale transform is deprecated, please use transforms.Resize instead. 3 warnings.warn("The use of the transforms.Scale transform is deprecated, " + 4/usr/local/lib/python3.9/site-packages/torchvision/transforms/transforms.py:917: UserWarning: The use of the transforms.RandomSizedCrop transform is deprecated, please use transforms.RandomResizedCrop instead. 5 warnings.warn("The use of the transforms.RandomSizedCrop transform is deprecated, " + 6Traceback (most recent call last): 7 File "/Users/***/ronbun/pytorch-pruning/finetune.py", line 270, in <module> 8 fine_tuner = PrunningFineTuner_VGG16(args.train_path, args.test_path, model) 9 File "/Users/***/ronbun/pytorch-pruning/finetune.py", line 127, in __init__ 10 self.train_data_loader = dataset.loader(train_path) 11 File "/Users/***/ronbun/pytorch-pruning/dataset.py", line 18, in loader 12 datasets.ImageFolder(path, 13 File "/usr/local/lib/python3.9/site-packages/torchvision/datasets/folder.py", line 310, in __init__ 14 super(ImageFolder, self).__init__(root, loader, IMG_EXTENSIONS if is_valid_file is None else None, 15 File "/usr/local/lib/python3.9/site-packages/torchvision/datasets/folder.py", line 145, in __init__ 16 classes, class_to_idx = self.find_classes(self.root) 17 File "/usr/local/lib/python3.9/site-packages/torchvision/datasets/folder.py", line 221, in find_classes 18 return find_classes(directory) 19 File "/usr/local/lib/python3.9/site-packages/torchvision/datasets/folder.py", line 42, in find_classes 20 raise FileNotFoundError(f"Couldn't find any class folder in {directory}.") 21FileNotFoundError: Couldn't find any class folder in train.

と出てしまいました.

こちらに関して改善方法をご教授していただけると幸いです.

  • 環境

Mac version: 11.5.2

  • python3 version

3.9.6

  • pip3環境

pip 21.1.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

Package Version --------------------------- ------------------- absl-py 0.12.0 albumentations 1.0.3 appnope 0.1.2 argon2-cffi 20.1.0 astunparse 1.6.3 async-generator 1.10 attrs 21.2.0 backcall 0.2.0 beautifulsoup4 4.9.3 bleach 3.3.0 bs4 0.0.1 cachetools 4.2.2 certifi 2021.5.30 cffi 1.14.5 charset-normalizer 2.0.3 config 0.5.0.post0 cycler 0.10.0 decorator 5.0.9 defusedxml 0.7.1 dill 0.3.4 efficientnet-pytorch 0.6.3 entrypoints 0.3 et-xmlfile 1.1.0 flatbuffers 1.12 future 0.18.2 gast 0.4.0 google-auth 1.33.1 google-auth-oauthlib 0.4.4 google-pasta 0.2.0 googleapis-common-protos 1.53.0 grpcio 1.34.1 h5py 3.1.0 idna 3.2 imageio 2.9.0 ipykernel 5.5.5 ipython 7.24.1 ipython-genutils 0.2.0 ipywidgets 7.6.3 jedi 0.18.0 Jinja2 3.0.1 joblib 1.0.1 jsonschema 3.2.0 jupyter 1.0.0 jupyter-client 6.1.12 jupyter-console 6.4.0 jupyter-core 4.7.1 jupyterlab-pygments 0.1.2 jupyterlab-widgets 1.0.0 Keras 2.4.3 keras-nightly 2.5.0.dev2021032900 Keras-Preprocessing 1.1.2 kiwisolver 1.3.1 libs 0.0.10 lightgbm 3.2.1 lxml 4.6.3 Markdown 3.3.4 MarkupSafe 2.0.1 matplotlib 3.4.2 matplotlib-inline 0.1.2 mistune 0.8.4 munch 2.5.0 natsort 7.1.1 nbclient 0.5.3 nbconvert 6.1.0 nbformat 5.1.3 nest-asyncio 1.5.1 networkx 2.6.2 notebook 6.4.0 numpy 1.19.5 oauthlib 3.1.1 opencv-python 4.5.3.56 opencv-python-headless 4.5.3.56 openpyxl 3.0.7 opt-einsum 3.3.0 packaging 20.9 pandas 1.3.0 pandocfilters 1.4.3 parso 0.8.2 pexpect 4.8.0 pickleshare 0.7.5 Pillow 8.3.1 pip 21.1.3 pretrainedmodels 0.7.4 prometheus-client 0.11.0 promise 2.3 prompt-toolkit 3.0.19 protobuf 3.17.3 ptyprocess 0.7.0 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycparser 2.20 Pygments 2.9.0 pyparsing 2.4.7 pyrsistent 0.17.3 python-dateutil 2.8.1 pytz 2021.1 PyWavelets 1.1.1 PyYAML 5.4.1 pyzmq 22.1.0 qtconsole 5.1.0 QtPy 1.9.0 requests 2.26.0 requests-oauthlib 1.3.0 rsa 4.7.2 scikit-image 0.18.3 scikit-learn 0.24.2 scipy 1.7.0 seaborn 0.11.1 segmentation-models-pytorch 0.2.0 selenium 3.141.0 Send2Trash 1.7.1 setuptools 57.0.0 six 1.15.0 sklearn 0.0 soupsieve 2.2.1 tensorboard 2.5.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.0 tensorflow 2.5.0 tensorflow-datasets 4.3.0 tensorflow-estimator 2.5.0 tensorflow-metadata 1.1.0 termcolor 1.1.0 terminado 0.10.1 testpath 0.5.0 threadpoolctl 2.2.0 tifffile 2021.8.30 timm 0.4.12 torch 1.9.0 torchvision 0.10.0 tornado 6.1 tqdm 4.61.2 traitlets 5.0.5 typing-extensions 3.7.4.3 urllib3 1.26.6 wcwidth 0.2.5 webencodings 0.5.1 Werkzeug 2.0.1 wheel 0.36.2 widgetsnbextension 3.5.1 wrapt 1.12.1

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

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

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

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

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

jbpb0

2021/09/05 15:05 編集

> Couldn't find any class folder in train. 「train」に「dogs」と「cats」という名前のディレクトリを作って、その中に画像ファイルを入れる 「test」も同じ
jbpb0

2021/09/05 23:23

ターミナルで、 python3 finetune.py --train --train_path train --test_path test1 を実行する前に、 ls -l を実行したら、そこに「train」と「test1」はありますか?
jbpb0

2021/09/06 01:49 編集

https://github.com/fenling/pytorch-pruning/blob/master/finetune.py に「print "Accuracy :", float(correct) / total」とか書かれてますので、これはPython 2.*用のコードのはず 参考 https://www.acrovision.jp/career/?p=3146 > python3 version 3.9.6 そのままPython 3.*で動かそうとしたら、 print "Accuracy :", float(correct) / total ^ SyntaxError: invalid syntax みたいにエラーになるはず そこ書き直してるんですか? 「print」以外にもPython 2, 3の互換性が無いところがあるかもしれませんし
jbpb0

2021/09/06 02:07 編集

当方のMacで、下記の手順で動かしてみましたけど、そのエラーは出ませんでした ・質問に記載のコードとデータをダウンロードして解凍 ・コードを解凍したところに「train」と「test」を作り、その中に「dogs」と「cats」を作り、その中に画像を置く  (データの「test1」の画像を分類するのはめんどくさかったので、データの「train」の画像を、コードの「train」以下にdogとcat合わせて20000枚と、「test」以下に5000枚に、分割して置きました) ・「finetune.py」と「prune.py」を「2to3」コマンドでPython 3.*用に変換 ・「finetune.py」と「prune.py」のインデントが間違ってるところを直す ・下記を実行 python finetune.py --train GPUが付いて無いMacで動かしたので、1エポック目が終わったところで 「AssertionError: Torch not compiled with CUDA enabled」 というエラーが出て終わりましたけど、GPUが付いてるパソコンならたぶん最後まで動いたと思います > FileNotFoundError: Couldn't find any class folder in train. というエラーは当方では出ませんでしたので、質問者さんの環境で未だにそれが出てるということは、おそらくディレクトリやファイルの配置がまだ間違ってるのだと思います
etherbeg

2021/09/06 10:42 編集

> こちらの論文(https://github.com/fenling/pytorch-pruning)の手元の環境で再現を行いたい そのURLは論文をPyTorchによって実装したものであって論文ではありません。 そのURLのリポジトリは別のリポジトリをフォークしただけのものです。オリジナルのリポジトリではその後Python3と新しいバージョンのPyTorchへの対応が行われています。参照するならオリジナルのリポジトリにすべきと思います。 https://github.com/jacobgil/pytorch-pruning
unser

2021/09/06 14:12

みなさんありがとうございます。
guest

回答1

0

ベストアンサー

githubの説明にあるように、docとcatのディレクトリを作る必要があるでしょう。

text

1This repository uses the PyTorch ImageFolder loader, so it assumes that the images are in a different directory for each category. 2 3Train 4......... dogs 5......... cats 6 7Test 8......... dogs 9......... cats

投稿2021/09/05 15:11

TakaiY

総合スコア13790

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

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

unser

2021/09/05 22:21

ありがとうございます。 大変申し訳ないのですが, trainに関してそのようにディレクトリを追加しても,エラーが起きてしまいました。(追記に詳細は記入しています) もしよければ,次の改善策をご教授していただけると幸いです。
TakaiY

2021/09/06 01:34

pytorchのソースを見ても、「--train_path train 」で指定されたtrainディレクトリの中のディレクトリをclassとして検出するようになっているので、 - 質問にあるとおり、finetune.pyを実行しているディレクトリにtrain/testディレクトリがあるかどうか - それぞれのディレクトリにdogs/catsのディレクトリがあるかどうか 確認ください。
unser

2021/09/08 11:44

ありがとうございます。 もう一度確認したところうまく作れていませんでした。 再度trainを作成したところうまく学習が進みました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問