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

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

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

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Linux

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

Python

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

Q&A

解決済

1回答

979閲覧

入手したソースコードを動かしたい(numpy)

miori_tsuki

総合スコア1

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Linux

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

Python

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

0グッド

0クリップ

投稿2021/09/22 03:36

編集2021/09/23 00:59

VSCodeでnumpyのimportができない

問題:ライブラリのインポートに失敗します。

最近機械学習の本を読み勧めて、畳み込みニューラルネットワークの実装(手書き)まで学習しました。
次の勉強として、実践に取り掛かっていきたいと思っていて、こちらの記事のコードを動かしながら読み解いていこうと考えています。
https://qiita.com/kshina76/items/5686923dee2889beba7c
コードを動かして、挙動を確かめたり、改変して他のデータでテストすることが目的です。

自環境

LinuxMint 20.x
64bit

VSCode
Python 3.8.8
Colaboratory

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

上記のソースコード(audio-classification-master/cnn_reco_various_feature
/cnn_reco.py, generator.pyとも)を実行したところ、インポートの段階でエラーが発生します。

1. SyntaxError: invalid syntax  現環境でそのまま実行した場合のエラー  14行目:`from keras.layers import pip3 install numpy pip3 install numpyEmbedding` 2. ModuleNotFoundError: No module named 'numpy'  1.の箇所をコメントアウトしたときのエラー

該当のソースコード

エラー箇所とエラー出力(表記まま)を見出しにしています。
コメントアウトは、今回エラーに関係なかった箇所を実施しています。

python

1# cnn_reco.py 2""" 3開発環境 4> python3.7.3 5> Anaconda3 6> keras2.2.4 7> tensorflow1.13.1 8""" 9 10- import numpy as np 11- # ModuleNotFoundError: No module named 'numpy' 12import os 13import glob 14import librosa 15import random 16import math 17import generator 18 19import matplotlib.pyplot as plt 20from sklearn.preprocessing import MinMaxScaler, LabelBinarizer 21from sklearn.model_selection import train_test_split 22from keras.models import Sequential, load_model, Model 23from keras.layers import Dense, Activation, Dropout, Input 24- _ 25- from keras.layers import pip3 install numpy pip3 install numpyEmbedding 26- # SyntaxError: invalid syntax 27from keras.layers import Conv1D, GlobalAveragePooling1D, MaxPooling1D 28from keras.optimizers import Adam 29from keras.utils import Sequence 30from keras.utils import np_utils 31””” 32class CNN(): 33 34 def build_model(self): 35 inputs = Input(shape=(193, 1)) 36 x = Conv1D(64, 3, activation='relu')(inputs) 37 x = Conv1D(64, 3, activation='relu')(x) 38 x = MaxPooling1D(3)(x) 39 x = Conv1D(128, 3, activation='relu')(x) 40 x = Conv1D(128, 3, activation='relu')(x) 41 x = GlobalAveragePooling1D()(x) 42 x = Dropout(0.5)(x) 43 x = Dense(3, activation='softmax')(x) 44 model = Model(input=inputs, output=x) 45 optimizer = Adam() 46 model.compile(loss="categorical_crossentropy", 47 optimizer=optimizer, metrics=['accuracy']) 48 model.summary() 49 50 return model 51 52def get_path_labels(self): 53 #onseiディレクトリ下のディレクトリのフルパスを取得 54 dirs_path = glob.glob(data_path) 55 56 labels = [] 57 files_path = [] 58 label_count = -1 59 for dir_path in dirs_path: 60 label_count += 1 61 for file_path in glob.glob(dir_path + '/*'): 62 files_path.append(file_path) 63 labels.append(label_count) 64 65 files_path = np.asarray(files_path) 66 labels = np.asarray(labels) 67 68 # one hot encording 69 lb = LabelBinarizer() 70 lb.fit(labels) 71 labels = lb.transform(labels) 72 73 return files_path, labels 74 75if __name__ == '__main__': 76 sample_rate = 44100 77 threshold = 20 78 sample_length = 7680 79 batch_size = 16 80 epoch = 50 81 save_model_name = 'dnn_reco.h5' 82 data_path = './onsei/*' 83 84 files_path, labels = get_path_labels(data_path) 85 86 for i in range(len(labels)): 87 print('{} : {}'.format(files_path[i], labels[i])) 88 89 # パスとラベルから学習、テスト、評価データを作成 90 X_train, X_test, y_train, y_test = train_test_split(files_path, labels, train_size=0.8) 91 X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, train_size=0.8) 92 93 # ジェネレータを作成 94 train_batch_generator = generator.BatchGenerator(X_train, y_train, batch_size, sample_rate, sample_length, threshold) 95 test_batch_generator = generator.BatchGenerator(X_val, y_val, batch_size, sample_rate, sample_length, threshold) 96 97 # モデル構築 98 dnn = CNN() 99 model = dnn.build_model() 100 101 # 学習 102 fit_history = model.fit_generator(train_batch_generator, epochs=epoch, verbose=1, 103 steps_per_epoch=train_batch_generator.batches_per_epoch, 104 validation_data=test_batch_generator, 105 validation_steps=test_batch_generator.batches_per_epoch, 106 shuffle=True 107 ) 108 model.save(save_model_name) 109”””

試したこと

from keras.layers import pip3 install numpy pip3 install numpyEmbeddingのpip3を削除、やコメントアウト
・ numpyのpipアンインストール/インストール
・ VSCodeの再インストール
・ Colaboratoryでの実行

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

当方なにもわかっていないのですが、何かしらご教示いただけると助かります。

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

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

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

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

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

fiveHundred

2021/09/22 03:42

> 1. の箇所をコメントアウトしたときのエラー 該当箇所が分かりませんので記載してください。 > 該当のソースコード なんか、変なゴミみたいなの(-や_)がありますが、これで実行コードそのままなのでしょうか?
Daregada

2021/09/22 03:56 編集

普通に「git clone」してみましたが、該当するファイルの先頭は「import numpy as np」から始まりますね。Pythonにnumpyが入っていないというオチでは。
miori_tsuki

2021/09/22 06:10

ターミナルで確認して見ましたが、入っているように見えます。 (それともパスが良くないですか??) (base):~$ pip3 install numpy Requirement already satisfied: numpy in ./anaconda3/lib/python3.8/site-packages (1.21.2) (base):~$ /bin/python3 /home/user/ダウンロード/storage/Python/audio-classification-master/4_cnn_reco_various_feature/generator.py Traceback (most recent call last): File "/home/user/ダウンロード/storage/Python/audio-classification-master/4_cnn_reco_various_feature/generator.py", line 1, in <module> import numpy as np ModuleNotFoundError: No module named 'numpy' となっています。 import numpy as npをコメントアウトし、実行して、No module named ~になった場所をコメントアウトしてきましたが、 - numpy - librosa - matplotlib - keras がありました。
Daregada

2021/09/22 12:48

ええと、「-」がコメント化する記号だと思ってますか? Pythonの1行コメントは「#」で始まります。
miori_tsuki

2021/09/23 00:56

いいえ、エラー箇所がわかりやすくなるようにと見出し的に使用しました 次回からはちゃんと原ソースのまま引用します。 お騒がせしました。 (なお、問題のほうは解決しています)
guest

回答1

0

ベストアンサー

import とpip3がコメントでも文字列でもないのに両方が入っているソースコードが文法エラーにならないはずがありません。

Pythonの中でインストールをやろうとするのは止めましょう。
Pythonを動かすための準備はシェル(含コマンドプロンプト)で実行しましょう。

  • とりあえずコメントアウト処置で実行したのですが、numpyのimportエラーで躓いています。

ということなら、以下の手順でnumpyをインストールしましょう。

まず、cnn_reco.pyの最初に以下の3行を追加します。

python

1import sys 2print(sys.executable) 3exit()

もしもこれでpython2.7のパスが表示されるようであればVSCodeの設定をPython3系に切り替えましょう。
表示されるpythonのフルパスが仮に'/aaa/bbb/ccc/python'だとした場合、
ターミナルで

terminal

1/aaa/bbb/ccc/python -m pip install numpy

で必要なnumpyをインストールしましょう。ただし、Anacondaならばpipではなくcondaを使いましょう。

投稿2021/09/22 04:00

編集2021/09/22 06:51
ppaul

総合スコア24666

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

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

miori_tsuki

2021/09/22 06:25

ありがとうございます。 私もそこにひっかかっていて実際にそういう方法が存在するのか困っていました。 とりあえずコメントアウト処置で実行したのですが、numpyのimportエラーで躓いています。
miori_tsuki

2021/09/22 10:52

記載の通りの手順で各ライブラリを入れたらなんとかなりました。 助かりました。 ほかに、AdamとSequenceのインポートには"tensorflow."の付与が必要だったりといろいろ勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問