前提・実現したいこと
pythonで"ディープラーニングを使用して「あなたにそっくりな女優判別プログラム」を作ったおはなし"
リンク:https://qiita.com/k_eita/items/a50a4cae0aa2598422e4
というものを参考にしてシステムを作成しています。
numpyファイルを読み込もうとしていたら以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
UserWarning: mkl-service package failed to import, therefore Intel(R) MKL initialization
ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package, see http://github.com/IntelPython/mkl-service
from . import distributor_init
Traceback (most recent call last):
File "C:\Users\Owner\anaconda3\envs\cnn_env\lib\site-packages\numpy\core_init.py", line 22, in <module>
from . import multiarray
File "C:\Users\Owner\anaconda3\envs\cnn_env\lib\site-packages\numpy\core\multiarray.py", line 12, in <module>
from . import overrides
File "C:\Users\Owner\anaconda3\envs\cnn_env\lib\site-packages\numpy\core\overrides.py", line 7, in <module>
from numpy.core._multiarray_umath import (
ImportError: DLL load failed: 指定されたモ
ジュールが見つかりません。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:/Users/Owner/Documents/anaconda_vs/appale_project/use_cnn.py", line 4, in
<module>
import numpy as np
File "C:\Users\Owner\anaconda3\envs\cnn_env\lib\site-packages\numpy_init_.py",
line 145, in <module>
from . import core
File "C:\Users\Owner\anaconda3\envs\cnn_env\lib\site-packages\numpy\core_init_.py", line 48, in <module>
raise ImportError(msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON
HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
- The Python version is: Python3.7 from
"C:\Users\Owner\anaconda3\envs\cnn_env\python.exe"
- The NumPy version is: "1.20.3"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: DLL load failed: 指定
されたモジュールが見つかりません。
日本語訳:
UserWarning:mkl-serviceパッケージのインポートに失敗したため、Intel(R)MKLの初期化
Gnu OpenMPがPythonプロセスによってすでにロードされている条件下で、すぐに使用できる正しい操作を保証することは保証されていません。 mkl-serviceパッケージをインストールしてください。http://github.com/IntelPython/mkl-serviceを参照してください。
から 。 import _distributor_init
トレースバック(最後の最後の呼び出し):
<module>のファイル "C:\ Users \ Owner \ anaconda3 \ envs \ cnn_env \ lib \ site-packages \ numpy \ core \ __ init __。py"、22行目
から 。マルチアレイのインポート
<module>のファイル「C:\ Users \ Owner \ anaconda3 \ envs \ cnn_env \ lib \ site-packages \ numpy \ core \ multiarray.py」、12行目
から 。インポートオーバーライド
<module>のファイル "C:\ Users \ Owner \ anaconda3 \ envs \ cnn_env \ lib \ site-packages \ numpy \ core \ overrides.py"、7行目
numpy.core._multiarray_umathからインポート(
ImportError:DLLの読み込みに失敗しました:モニターされたモ
ジュールができます。
上記の例外の処理中に、別の例外が発生しました。
トレースバック(最後の最後の呼び出し):
ファイル "c:/Users/Owner/Documents/anaconda_vs/appale_project/use_cnn.py"、4行目
<モジュール>
numpyをnpとしてインポート
ファイル "C:\ Users \ Owner \ anaconda3 \ envs \ cnn_env \ lib \ site-packages \ numpy \ __ init__。py"、
<モジュール>の145行目
から 。コアのインポート
<module>のファイル "C:\ Users \ Owner \ anaconda3 \ envs \ cnn_env \ lib \ site-packages \ numpy \ core \ __ init __。py"、48行目
ImportError(msg)を発生させます
ImportError:
重要:アドバイスについては、こちらをお読みください
この問題を解決する方法!
numpyC拡張機能のインポートに失敗しました。このエラーは次の場合に発生する可能性があります
多くの理由、多くの場合、セットアップの問題やNumPyの状態が原因です
インストールされています。
いくつかの一般的な理由とトラブルシューティングのヒントを次の場所にまとめました。
https://numpy.org/devdocs/user/troubleshooting-importerror.html
次の点に注意して確認してください。
- Pythonのバージョンは次のとおりです。Python3.7from
"C:\ Users \ Owner \ anaconda3 \ envs \ cnn_env \ python.exe"
- NumPyのバージョンは「1.20.3」です
そして、それらが期待するバージョンであることを確認してください。
さらにヘルプが必要な場合は、上記のリンク先のドキュメントを注意深く調べてください。
元のエラーは次のとおりでした:DLLのロードに失敗しました:
されたザルができます
該当のソースコード
python
1from inspect import CORO_SUSPENDED 2from re import escape 3from traceback import print_exc 4import numpy as np 5import matplotlib.pyplot as plt 6import keras 7from keras.models import Sequential 8from keras.layers import Conv2D, MaxPooling2D 9from keras.layers import Activation, Dropout, Flatten, Dense 10from keras.utils import np_utils 11from keras.utils import plot_model 12import os 13 14#numpyファイルの読み込み 15in_npy = "appalee.npz" 16 17#出力するモデル名を指定 18out_model = "appale_out.h5" 19 20#CNN設定 21CATEGORY_NUM = 5 22BATCH_SIZE = 32 23EPOCHS = 15 24LEARNING_RATE = 0.0001 25 26def main(): 27 #画像データの読み込み 28 data= np.load(in_npy) 29 30 print(data.files) 31 32 X_train = data['arr_0'] 33 X_val = data['arr_1'] 34 Y_train = data['arr_2'] 35 Y_val = data['arr_3'] 36 37 print(X_train.shape) 38 print(X_val.shape) 39 print(Y_train.shape) 40 print(Y_val.shape) 41 42 print(X_train.ndim) 43 print(X_train.size) 44 45 #正規化を行う(最大値:256で割って0~1に収束) 46 X_train = X_train.astype("float")/ 256 47 X_val = X_val.astype("float") / 256 48 #ラベルをベクトルに変換 49 Y_train = np_utils.to_categorical(Y_train, CATEGORY_NUM) 50 Y_val = np_utils.to_categorical(Y_val, CATEGORY_NUM) 51 52 #学習の実行 53 model = model_train(X_train, Y_train, X_val, Y_val) 54 55def model_train(X, Y, Xv, Yv): 56 #モデルの定義 57 model = Sequential() 58 59 model.add(Conv2D(32, (3, 3), padding = 'same', input_shape = X.shape[1:])) 60 model.add(Activation('relu')) 61 62 model.add(Conv2D(32, (3, 3))) 63 model.add(Activation('relu')) 64 model.add(MaxPooling2D(pool_size = (2, 2))) 65 model.add(Dropout(0.25)) 66 67 model.add(Conv2D(64, (3, 3), padding = 'same')) 68 model.add(Activation('relu')) 69 70 model.add(Conv2D(64, (3, 3))) 71 model.add(Activation('relu')) 72 model.add(MaxPooling2D(pool_size = (2, 2))) 73 model.add(Dropout(0.25)) 74 75 model.add(Flatten()) 76 77 model.add(Dense(512)) 78 model.add(Activation('relu')) 79 model.add(Dropout(0.5)) 80 model.add(Dense(CATEGORY_NUM)) 81 model.add(Activation('softmax')) 82 83 #モデルの可視化 84 plot_model(model, to_file='model_' + str(EPOCHS) +'.png') 85 86 #最適化処理 87 opt = keras.optimizers.rmsprop(lr = LEARNING_RATE, decay = 1e-6) 88 89 #モデル最適化の宣言 90 model.compile(loss= 'categorical_crossenttopy', optimizer = opt, metrics = ['accuracy']) 91 92 #学習 93 result = model.fit(X, Y, batch_size = BATCH_SIZE, epochs = EPOCHS, validation_data = (Xv, Yv)) 94 95 #モデルデータの保存 96 model.save('./ + out_model') 97 98 #グラフ表示 99 plt.plot(range(1, EPOCHS + 1), result.history['acc'], label = "train-acc") 100 plt.plot(range(1, EPOCHS + 1), result.history['loss'], label = "train-loss") 101 plt.plot(range(1, EPOCHS + 1), result.history['val_loss'], label = "val-loss") 102 plt.title(out_model) 103 plt.xlabel('Epochs') 104 plt.ylabel('Accuracy') 105 plt.legend() 106 plt.show() 107 108 return model 109 110if __name__ == "__main__": 111 main() 112
試したこと
・pythonとNumPyのバージョンが合っているかの確認
・conda list でmklがあるかの確認
・mklのダウングレード-->NotFoundで出来ず
・where mkl_intel_thread.dllで確認-->見つかりませんでした
補足情報(FW/ツールのバージョンなど)
・Python3.7.10 64bit
・仮想環境 anaconda3
・keras 2.4.3
・tensorflow 2.3.0
・matplotlib 3.3.4。
回答1件
あなたの回答
tips
プレビュー