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

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

新規登録して質問してみよう
ただいま回答率
85.50%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

NumPy

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

1845閲覧

python-学習時のエラー

keita_kkk

総合スコア17

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

NumPy

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2021/07/28 06:28

前提・実現したいこと

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。

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

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

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

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

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

jbpb0

2021/07/28 06:53

Numpy 1.20.0よりも古いのをどれか、たとえば conda install numpy==1.19.2 とかで入れてもダメでしょうか? https://zenn.dev/ymd_h/articles/934a90e1468a05 によると、Numpy 1.20.0で大幅な仕様変更があり、Numpyを使ってビルドされたものを使う場合は、ビルド時に使われたNumpyが1.20.0以降かどうかと、それを使う時のNumpyバージョンが1.20.0以降かどうかを合わせないといけないようです > ・tensorflow 2.3.0 のリリースはNumpy 1.20.0のリリースよりも前なので、Numpy 1.20.0よりも古いのとの組み合わせじゃないと動かないようです もしかしたら、逆にNumpy 1.20.0以降のとの組み合わせじゃないと動かないものがあるかもしれません もしそういうのがあれば、それも古いバージョンに入れ替える必要があります 要するに、質問者さんのPythonに入っているものを全部、Numpy 1.20.0がリリースされる前に存在していたバージョンに入れ替える必要がある、ということです
keita_kkk

2021/07/28 10:49

Numpyを1.19.2にしても変わりませんでした。 さらに、vscodeを起動してから1回目の実行では、 conda activate cnn_env conda : 用語 'conda' は、コマンドレット、関数、スクリプト ファイル、または操作可能 なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パ スが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1 + conda activate cnn_env + ~~~~~ + CategoryInfo : ObjectNotFound: (conda:String) [], CommandNotFoundE xception + FullyQualifiedErrorId : CommandNotFoundException のような表示がされました。
jbpb0

2021/07/28 11:11

> Please install mkl-service package conda list でいろいろ表示される中で、「mkl」で始まるものがあれば、それのバージョンを全部教えてください ちなみに、当方のWin 10パソコンのAnacondaに入ってるバージョンは下記の通りなので、このバージョンの組み合わせなら使えるはずです これよりも新しいバージョンが入ってたら、下記のバージョンに合わせてみてください numpy 1.19.2 mkl 2020.2 mkl-service 2.3.0 mkl_fft 1.3.0 mkl_random 1.1.1 最後の二つは無くてもたぶん大丈夫ですが、「mkl」と「mkl-service」は、もし入ってなければ、上記のバージョンのを入れてみてください
keita_kkk

2021/07/28 11:15

mkl 2020.2 256 mkl-service 2.3.0 py37h196d8e1_0 mkl_fft 1.3.0 py37h46781fe_0 mkl_random 1.1.1 py37h47e9c7a_0
keita_kkk

2021/07/28 11:16

すべて同じようです。
jbpb0

2021/07/28 11:32 編集

そうですね それでも下記の表示は変わらず出ますか? > 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...
keita_kkk

2021/07/28 11:29

はい。 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 と出ます。
keita_kkk

2021/07/28 11:31

どうやら、numpy1.20.3はopencvのダウンロードと同時にダウンロードされているようです。
jbpb0

2021/07/28 11:32

> File "C:\Users\Owner\anaconda3\envs\cnn_env\lib\site-packages\numpy\core\init.py", line 22, in <module> 「cnn_env」という仮想環境でエラーが出てますけど、バージョンが古いNumpyを入れたり、「mkl」で始まるモジュールのバージョンを調べたりしたのは、その仮想環境を有効にした状態でですよね?
jbpb0

2021/07/28 11:42 編集

> numpy1.20.3はopencvのダウンロードと同時にダウンロードされている それが起きたら、その都度Numpyを1.20よりも古いのに入れ直してください また、OpenCVも、Numpy 1.20よりも古いバージョンとの組み合わせで動くものを入れてください 私の最初のコメントに書いたように、Numpy 1.20以前か以降か、どちらかの状態に全てを統一しないといけないのです
keita_kkk

2021/07/28 12:31 編集

python3.6.13にしたところうまくいきました! しかし、学習を実行したところ前回の質問 https://teratail.com/questions/351106 のように ValueError: Object arrays cannot be loaded when allow_pickle=False となりました。 ちなみに、numpy配列を作った際は reating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray return array(a, dtype, copy=False, order=order, subok=True) Success:create ./appale (19, 60, 60, 3) (2352,) (19,) となっています。 また、データを読み込んだ際にprint(data.files)を行ったところ ['arr_0']となっています
keita_kkk

2021/07/28 12:42 編集

すみません。上のValueErrrorは自己解決しました。 しかし、まだエラーはでているので、自分で一回調べてみてダメだったらまた質問します
keita_kkk

2021/08/01 08:26

解決しました!環境が原因であったようです。ありがとうございました。
keita_kkk

2021/08/01 08:27

jbpb0様のコメントを回答にしていただければ、ベストアンサーとし解決済みにしたいと思います。
jbpb0

2021/08/02 05:33

私がここに書いたことのどれかが、解決に役立ったのでしょうか? > python3.6.13にしたところうまくいきました! で直ったのなら、それを書いて自己解決にしたらいいと思いますよ
keita_kkk

2021/08/04 04:28

そうですね。では、自己解決とします
guest

回答1

0

自己解決

python3.6.13にし、モジュールをグレードダウン

投稿2021/08/04 04:30

keita_kkk

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問