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

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

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

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

解決済

1回答

1560閲覧

.sh内で.pyを実行するときの引数指定が通らない

SendaSosuke

総合スコア5

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

0クリップ

投稿2020/04/02 06:35

前提・実現したいこと

これを実行すると「python3 GenFeature.py $DATASET $D_PATH --phase $PHASE --piece-per-file $PIECE_PER_FILE --save-path $OUTPUT」のところで、D_PATHが指定されてないとのエラーがでます。
なにがおかしいのでしょうか。

sh

1#!/bin/bash 2 3DATASET=MusicNet 4D_PATH=/mnt/Users/Owner/Documents/wsl-music-recommendation-venv/Music-Transcription-with-Semantic-Segmentation-master/musicnet.tar.gz 5PHASE=train 6PIECE_PER_FILE=40 7OUTPUT=/mnt/Users/Owner/Documents/wsl-music-recommendation-venv/Music-Transcription-with-Semantic-Segmentation-master/${PHASE}_feature 8 9cd .. 10python3 GenFeature.py $DATASET $D_PATH --phase $PHASE --piece-per-file $PIECE_PER_FILE --save-path $OUTPUT

エラーを見る限り、問題はif name == "main"のところだけ見れば良さそうですが念のため全部のせときます

GenFeature

1import os 2import argparse 3 4from project.configuration import MapsDatasetInfo, MusicNetDatasetInfo, MaestroDatasetInfo 5from project.Feature.MapsFeatureExtraction import MapsFeatExt 6from project.Feature.MaestroFeatureExtraction import MaestroFeatExt 7from project.Feature.MusicNetFeatureExtraction import MusicNetFeatExt 8 9 10d_conf = { 11 "Maps": { 12 "dataset_info": MapsDatasetInfo, 13 "processor": MapsFeatExt 14 }, 15 "Maestro": { 16 "dataset_info": MaestroDatasetInfo, 17 "processor": MaestroFeatExt 18 }, 19 "MusicNet": { 20 "dataset_info": MusicNetDatasetInfo, 21 "processor": MusicNetFeatExt 22 } 23} 24 25def main(args): 26 dinfo = d_conf[args.dataset]["dataset_info"](args.dataset_path) 27 proc_cls = d_conf[args.dataset]["processor"] 28 29 paths = dinfo.train_wavs if args.phase=="train" else dinfo.test_wavs 30 wav_paths = [os.path.join(dinfo.base_path, path) for path in paths] 31 paths = dinfo.train_labels if args.phase=="train" else dinfo.test_labels 32 label_paths = [os.path.join(dinfo.base_path, path) for path in paths] 33 34 processor = proc_cls( 35 wav_paths, 36 label_paths, 37 dinfo.label_ext, 38 save_path=args.save_path, 39 file_prefix=args.phase, 40 piece_per_file=args.piece_per_file, 41 harmonic=args.harmonic 42 ) 43 processor.process() 44 45 46if __name__ == "__main__": 47 parser = argparse.ArgumentParser("Feature Processor") 48 parser.add_argument("dataset", help="One of Maps, MusicNet, or Maestro", 49 type=str, choices=["Maps", "MusicNet", "Maestro"]) 50 parser.add_argument("dataset-path", help="Path to the downloaded dataset", 51 type=str) 52 parser.add_argument("-p", "--phase", help="Generate training feature or testing feature. Default: %(default)s", 53 type=str, default="train", choices=["train", "test"]) 54 parser.add_argument("-n", "--piece-per-file", help="Number of pieces should be included in one generated file", 55 type=int, default=40) 56 parser.add_argument("-s", "--save-path", help="Path to save the generated feature and label files", 57 type=str, default="./train_feature") 58 parser.add_argument("-a", "--harmonic", help="Generate harmonic features", 59 action="store_true") 60 61 args = parser.parse_args() 62 main(args) 63

エラー

Traceback (most recent call last): File "GenFeature.py", line 62, in <module> main(args) File "GenFeature.py", line 26, in main dinfo = d_conf[args.dataset]["dataset_info"](args.dataset_path) AttributeError: 'Namespace' object has no attribute 'dataset_path'

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

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

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

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

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

guest

回答1

0

ベストアンサー

Python

1parser.add_argument("dataset-path", help="Path to the downloaded dataset", 2 type=str)

において、マイナス記号を含んだ"dataset-path"というキーワードを使用していることが原因です。

投稿2020/04/02 09:02

kazto

総合スコア7196

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

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

SendaSosuke

2020/04/02 09:15

ありがとうございます! 初歩的なことでもしっかりと確かめるようにします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問