前提・実現したいこと
前提:Windows10Home、Anaconda、Visual Studio Code。Anacondaのbase環境下で行っていた。それまでは仮想環境は作っていなかった。
実現したいこと:importエラーをなくすこと
発生している問題・エラーメッセージ
vscodeでpythonを使い、簡単なプログラムを組んでいました。
その中で設定をいじったせいか、sklearn等のライブラリがimportできない状態になってしまいました。
今までは正常にimportできていました。
例外が発生しました: ModuleNotFoundError No module named 'sklearn' File "C:\Users(ユーザー名)\train_mlp.py", line 3, in <module> from sklearn.model_selection import train_test_split
該当のソースコード
import numpy as np, h5py import pickle from sklearn.model_selection import train_test_split import sklearn.metrics as metrics import matplotlib.pyplot as plt import keras from keras.models import Sequential from keras.layers import Dense, Dropout from keras.optimizers import RMSprop # 分類するラベルの数 --- (*1) nb_classes = 4 # データベースの読込 --- (*2) data = pickle.load(open("text/genre.pickle", "rb")) y = data[0] # ラベル x = data[1] # TF-IDF # ラベルデータをone-hotベクトルに直す --- (*3) y = keras.utils.np_utils.to_categorical(y, nb_classes) in_size = x[0].shape[0] # 学習用とテスト用を分ける --- (*4) x_train, x_test, y_train, y_test = train_test_split(np.array(x), np.array(y), test_size=0.2) # MLPモデル構造を定義 --- (*5) model = Sequential() model.add(Dense(512, activation='relu', input_shape=(in_size,))) model.add(Dropout(0.2)) model.add(Dense(512, activation='relu')) model.add(Dropout(0.2)) model.add(Dense(nb_classes, activation='softmax')) # モデルをコンパイル --- (*6) model.compile( loss='categorical_crossentropy', optimizer=RMSprop(), metrics=['accuracy']) # 学習を実行 --- (*7) hist = model.fit(x_train, y_train, batch_size=128, epochs=20, verbose=1, validation_data=(x_test, y_test)) # 評価する ---(*8) score = model.evaluate(x_test, y_test, verbose=1) print("正解率=", score[1], 'loss=', score[0]) # 重みデータを保存 --- (*9) model.save_weights('./text/genre-model.hdf5') # 学習の様子をグラフへ描画 --- (*10) plt.plot(hist.history['accuracy']) plt.plot(hist.history['val_accuracy']) plt.title('Accuracy') plt.legend(['train', 'test'], loc='upper left') plt.show()
試したこと
1.Anacondaの仮想環境を作った。
2.Vscodeのインタープリタを仮想環境に参照させた。
3.AnacondaのPathを最優先(一番上)に持ってきた。
4.Anacondaをアンインストールし、再インストールした。
5.conda update --all
6.conda clear --all
補足情報(FW/ツールのバージョンなど)
・Jupyternotebookでは問題なくimportできる。
・"text/genre.pickle"等のファイルは存在しています。import文以降のプログラムにエラーは出ていません。
・WindowsソフトのPythonはダウンロードしていません。Anacondaだけです。
・importエラーが起きた当初はnumpyもエラーだったが、これは途中で直った。