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

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

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

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

2回答

748閲覧

FileNotFoundError: [Errno 2] No such file or directory:

jaogjig

総合スコア21

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/03/28 15:56

実現したいこと

pythonで音楽のジャンルを学習して分類するwebアプリをflaskで実装したい

前提

機械学習のモデルを作りその結果を取得する最中にエラーが出た

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

File "/Users/name/test1/app.py", line 82, in <module> result=predict_class(audio_files,save_directory,model_path,class_labels,scaler_path) File "/Users/name/test1/app.py", line 77, in predict_class scaler = dill.load(open(scaler_path, 'rb')) FileNotFoundError: [Errno 2] No such file or directory: 'Test1/scalerA/scaler.pkl'

該当のソースコードは機械学習の分類結果を取得するコード

app.py

1with app.test_request_context(): 2 audio_files = request.files.getlist('file') 3 save_directory = os.path.join(os.getcwd(), 'saved_models') 4 model_path="Test1/modelpkl/modelC.pkl" 5 scaler_path = "Test1/scalerA/scaler.pkl" 6 class_labels=["blues","classical","country","disco","hiphop","jazz","metal","pop","reggae"] 7# 分類結果を取得するコード 8def predict_class(audio_files,save_directory,model_path,class_labels,scaler_path): 9 mfcc = extract_features(audio_files,save_directory) 10 mfcc = mfcc.reshape(1, -1) 11 scaler = dill.load(open(scaler_path, 'rb')) 12 mfcc_scaled = scaler.transform(mfcc) 13 model = dill.load(open(model_path, 'rb')) 14 predicted_class = model.predict(mfcc_scaled).argmax() 15 return class_labels[predicted_class] 16result=predict_class(audio_files,save_directory,model_path,class_labels,scaler_path)

試したこと

https://magazine.techacademy.jp/magazine/18986?_ga=2.11306228.1922121558.1680015236-556950472.1680015236
この記事で
scaler_path = "Test1/scalera/scaler.pkl"
file = os.path.abspath(scaler_path)
絶対パスを入れて、フォルダ名をscaleraにしても同じエラーが出る
FileNotFoundError: [Errno 2] No such file or directory: '/Users/name/test1/Test1/scalera/scaler.pkl'

'username/Test1/scalerA/scaler.pkl'

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

フォルダ構造
Test1
|-templates
index.html
predict.html
|-scalerA
scaler.pkl
|-saved_models
model.pt
|-modelpkl
app.py

ここにより詳細な情報を記載してください。

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

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

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

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

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

jbpb0

2023/03/29 09:52 編集

> FileNotFoundError: [Errno 2] No such file or directory: 'Test1/scalerA/scaler.pkl' のエラーが出る > scaler = dill.load(open(scaler_path, 'rb')) のすぐ上に import os import pprint pprint.pprint(os.listdir('./')) を追加して実行して、カレントディレクトリに「Test1」というディレクトリが有るか、確認してみてください 上記が大丈夫なら、同じところに print(os.listdir('Test1')) も追加して実行して、「Test1」に「scalerA」というディレクトリが有るか、確認してみてください 上記も大丈夫なら、同じところに print(os.listdir('Test1/scalerA')) も追加して実行して、「Test1/scalerA」に「scaler.pkl」というファイルが有るか、確認してみてください なお、ディレクトリ名やファイル名の大文字と小文字は、区別してください たとえば、「test1」と「Test1」は違います
guest

回答2

0

FileNotFoundError: [Errno 2] No such file or directory: '/Users/name/test1/Test1/scalera/scaler.pkl'

/Users/name/test1/Test1/scalera/scaler.pklというファイルが存在しないと言うことなので、scaler.pklというファイルが存在するなら、その場所の認識が間違っているのでしょう。
正しい場所をちゃんと指定しましょうとしか言いようがない。

投稿2023/03/28 16:11

otn

総合スコア84828

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

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

0

scaler_path = "Test1/scalera/scaler.pkl"

絶対パスになってませんよ

投稿2023/03/28 21:57

y_waiwai

総合スコア87802

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問