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

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

新規登録して質問してみよう
ただいま回答率
85.31%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

解決済

1回答

815閲覧

google colab上で /usr/bin/env: bad interpreter: Permission denied エラーによりスクリプトが実行できない

hazawa

総合スコア6

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2023/08/27 10:32

実現したいこと

https://qiita.com/RRR_troisR/items/6288b9bdc6e725aa8440を参考にESPNET2のスクリプトを実行したいです。
手順に従って進めていったのですが、./run.sh を動かす部分で以下のエラーが発生しました。

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

%cd /content/drive/MyDrive/create_voice_model/yuka_hayase/work2/espnet/egs2/YUKA/tts1 !./run.sh \ --stage 1 \ --stop-stage 5 \ --g2p pyopenjtalk_accent_with_pause \ --min_wav_duration 0.38 \ --fs 44100 \ --n_fft 2048 \ --n_shift 512 \ --dumpdir dump/44k \ --win_length null \ --tts_task gan_tts \ --feats_extract linear_spectrogram \ --feats_normalize none \ --train_config ./conf/tuning/finetune_full_band_vits.yaml

結果

/content/drive/MyDrive/create_voice_model/yuka_hayase/work2/espnet/egs2/YUKA/tts1 2023-08-27T10:23:00 (tts.sh:211:main) ./tts.sh --lang jp --feats_type raw --fs 24000 --n_fft 2048 --n_shift 300 --win_length 1200 --token_type phn --cleaner jaconv --g2p pyopenjtalk --train_config conf/finetune.yaml --inference_config conf/decode.yaml --train_set tr_no_dev --valid_set dev --test_sets dev eval1 --srctexts data/tr_no_dev/text --audio_format flac --stage 1 --stop-stage 5 --g2p pyopenjtalk_accent_with_pause --min_wav_duration 0.38 --fs 44100 --n_fft 2048 --n_shift 512 --dumpdir dump/44k --win_length null --tts_task gan_tts --feats_extract linear_spectrogram --feats_normalize none --train_config ./conf/tuning/finetune_full_band_vits.yaml ./tts.sh: scripts/utils/print_args.sh: /usr/bin/env: bad interpreter: Permission denied

tts.shの権限が足りないと思い、該当する/content/drive/MyDrive/create_voice_model/yuka_hayase/work2/espnet/egs2/YUKA/tts1
のls -alを調べてみました。

/content/drive/MyDrive/create_voice_model/yuka_hayase/work2/espnet/egs2/YUKA/tts1 total 23 -rw------- 1 root root 4231 Aug 27 10:01 cmd.sh drwx------ 3 root root 4096 Aug 27 10:06 conf drwx------ 3 root root 4096 Aug 27 08:54 dataset lrw------- 1 root root 25 Aug 27 10:01 db.sh -> ../../TEMPLATE/asr1/db.sh drwx------ 2 root root 4096 Aug 27 10:01 local lrw------- 1 root root 27 Aug 27 10:01 path.sh -> ../../TEMPLATE/tts1/path.sh lrw------- 1 root root 29 Aug 27 10:01 pyscripts -> ../../TEMPLATE/asr1/pyscripts -rwx------ 1 root root 1579 Aug 27 10:06 run.sh lrw------- 1 root root 27 Aug 27 10:01 scripts -> ../../TEMPLATE/asr1/scripts lrw------- 1 root root 23 Aug 27 10:01 sid -> ../../TEMPLATE/tts1/sid lrw------- 1 root root 25 Aug 27 10:01 steps -> ../../TEMPLATE/asr1/steps lrw------- 1 root root 26 Aug 27 10:01 tts.sh -> ../../TEMPLATE/tts1/tts.sh lrw------- 1 root root 25 Aug 27 10:01 utils -> ../../TEMPLATE/asr1/utils

該当するtts.shは ../../TEMPLATE/tts1/tts.shのシンボリックリンクだったため、リンク先の権限も調べてみました。

-rwx------ 1 root root 4231 Aug 27 00:13 cmd.sh drwx------ 2 root root 4096 Aug 27 00:13 conf lrw------- 1 root root 13 Aug 27 00:13 db.sh -> ../asr1/db.sh drwx------ 3 root root 4096 Aug 27 08:44 egs2 drwx------ 2 root root 4096 Aug 27 00:13 local -rwx------ 1 root root 751 Aug 27 00:13 path.sh lrw------- 1 root root 29 Aug 27 00:13 pyscripts -> ../../TEMPLATE/asr1/pyscripts -rwx------ 1 root root 50966 Aug 27 00:13 README.md lrw------- 1 root root 27 Aug 27 00:13 scripts -> ../../TEMPLATE/asr1/scripts -rwx------ 1 root root 1215 Aug 27 00:13 setup.sh drwx------ 3 root root 4096 Aug 27 00:13 sid lrw------- 1 root root 25 Aug 27 00:13 steps -> ../../TEMPLATE/asr1/steps -rwx------ 1 root root 57934 Aug 27 00:13 tts.sh lrw------- 1 root root 25 Aug 27 00:13 utils -> ../../TEMPLATE/asr1/utils

chmod 777 tts.shで権限を両方変えても解決しません。
ご存じの方、よろしくお願いいたします。

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

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

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

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

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

otn

2023/08/27 11:02 編集

的外れです。 > /usr/bin/env: bad interpreter: Permission denied なので、/usr/bin/env に実行権限が無いと言うことです。 「/usr/bin/envに実行権限を付ける」がやるべき事で無いのは明らかですが、 google colabなどのような特殊な環境で実行する場合は、普通とどう違うのかの理解したうえで、環境に合わせて書き換え・読み替えながら手順を進める必要があるでしょう。
hazawa

2023/08/27 11:08 編集

初心者で申し訳ありません。 usr/bin/envに実行権限がないけど、 /usr/bin/envに実行権限を付ける」がやるべき事で無いのは明らかなのですか? 出ているエラーで検索したのですが、原因が結局分からないままです。
otn

2023/08/27 11:16

> 原因が結局分からないままです。 原因としては、異なる環境用のスクリプトを実行しようとしたからです。 やるべき事として、 > google colabなどのような特殊な環境で実行する場合は、普通とどう違うのかの理解したうえで、環境に合わせて書き換え・読み替えながら手順を進める必要があるでしょう。 と書いたのですが。 もしくは、「Google colab上でそのまま実行できます」という手順を探すか。
otn

2023/08/27 13:09

> Google Colab でノートブックを新規作成して /usr/bin/env のパーミッションを確認してみると以下の様になっています。 ちゃんと実行可能で存在してるんですね。そうすると、エラーメッセージと適合しないので、不思議です。
jbpb0

2023/08/27 13:43

otnさん > エラーメッセージと適合しない https://teratail.com/questions/8xtdp9x9933jwd にも似たエラーメッセージが書かれてて、そちらに 「colabのディスク直下にESPNETのリポジトリを置いた時には正常に動作していました。」 と書かれてます
jbpb0

2023/08/27 14:12

質問者さん > ./tts.sh: scripts/utils/print_args.sh: /usr/bin/env: bad interpreter: Permission denied 「scripts/utils/print_args.sh」のパーミッション(権限)は大丈夫でしょうか?
otn

2023/08/27 14:39

> 「scripts/utils/print_args.sh」のパーミッション(権限)は大丈夫でしょうか? その実行権限が無い場合は、 ./tts.sh: line 行番号 scripts/utils/print_args.sh: Permission denied というエラーメッセージになります。 /usr/bin/env: bad interpreter: Permission denied が、論理的にあり得るのは、 「以前、chmod -x /usr/bin/env を実行して、それを実行した事を忘れている」 くらいですが、それはさすがに無いと思ったので、 「元々 Google Colabでは /usr/bin/env は実行できないようになっているのでは?」と推測して「環境の違いで実行できない」と書いたのですが、その推測は間違っていたようで失礼しました。訂正します。 しかし、ということは、もしかすると最初に私が捨てていた、 「以前、chmod -x /usr/bin/env を実行して、それを実行した事を忘れている」 ということなのでしょうか?
jbpb0

2023/08/27 15:39

> その実行権限が無い場合は、 ./tts.sh: line 行番号 scripts/utils/print_args.sh: Permission denied というエラーメッセージになります。 https://stackoverflow.com/questions/64173936/why-am-i-getting-permission-denied-error-in-google-colab の質問に 「/bin/bash: ./train.py: /usr/bin/env: bad interpreter: Permission denied」 とあり、回答では「/usr/bin/env」のパーミッションには触れられず、「train.py」のパーミッションを変更するように書かれてます https://github.com/googlecolab/colabtools/issues/3162 の質問に 「-bash: venv/bin/pip: /content/drive/MyDrive/ai/whisperscript/venv/bin/python3: bad interpreter: Permission denied」 とあり、コメントでは「.../python3」のパーミッションには触れられず、「venv/bin/pip」のパーミッションを変更するように書かれてます 上記から、エラーメッセージに複数並んでる内の最後以外のもののパーミッションが不適切な場合もあるのかな、と思ったのですが、この質問のエラーメッセージの場合には該当しないのですね 失礼しました
guest

回答1

0

自己解決

自己解決しましたので閉じます

投稿2023/09/09 00:31

hazawa

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問