閲覧頂きありがとうございます。Linux上で、VScodeでプログラム実行時にエラーが出てしまいました。Linuxでの開発経験が乏しく、よくわからなかったため質問しました。Anacondaで作成した仮想環境上で動かしています。またプログラムはMNISTのオートエンコードです。以下にスクリプトとエラー文を記載します。よろしくお願いいたします。
Python
1from keras.layers import Input, Dense 2from keras.models import Model 3from keras.datasets import mnist 4import numpy as np 5from sklearn.model_selection import train_test_split 6import matplotlib.pyplot as plt 7 8# encoderの次元 9encoding_dim = 32 10 11# 入力用の変数 12input_img = Input(shape=(784, )) 13# 入力された画像がencodeされたものを格納する変数 14encoded = Dense(encoding_dim, activation='relu')(input_img) 15# ecnodeされたデータを再構成した画像を格納する変数 16decoded = Dense(784, activation='sigmoid')(encoded) 17# 入力画像を再構成するModelとして定義 18autoencoder = Model(input_img, decoded) 19 20# 入力する画像をencodeする部分 21encoder = Model(input_img, encoded) 22encoded_input = Input(shape=(encoding_dim, )) 23decoder_layer = autoencoder.layers[-1] 24# encodeされた画像データを再構成する部分 25decoder = Model(encoded_input, decoder_layer(encoded_input)) 26 27# AdaDeltaで最適化, loss関数はbinary_crossentropy 28autoencoder.compile(optimizer='adam', loss='binary_crossentropy') 29 30# MNISTデータを前処理する 31(x_train, _), (x_test, _) = mnist.load_data() 32x_train, x_valid = train_test_split(x_train, test_size=0.175) 33x_train = x_train.astype('float32')/255. 34x_valid = x_valid.astype('float32')/255. 35x_test = x_test.astype('float32')/255. 36x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:]))) 37x_valid = x_valid.reshape((len(x_valid), np.prod(x_valid.shape[1:]))) 38x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:]))) 39 40 41# autoencoderの実行 42autoencoder.fit(x_train, x_train, 43 epochs=50, 44 batch_size=256, 45 shuffle=True, 46 validation_data=(x_valid, x_valid)) 47 48# 画像化して確認 49encoded_img = encoder.predict(x_test) 50decoded_img = decoder.predict(encoded_img) 51 52n = 10 53plt.figure(figsize=(20, 4)) 54for i in range(n): 55 ax = plt.subplot(2, n, i+1) 56 plt.imshow(x_test[i].reshape(28, 28)) 57 plt.gray() 58 ax.get_xaxis().set_visible(False) 59 ax.get_yaxis().set_visible(False) 60 61 ax = plt.subplot(2, n, i+1+n) 62 plt.imshow(decoded_img[i].reshape(28, 28)) 63 plt.gray() 64 ax.get_xaxis().set_visible(False) 65 ax.get_yaxis().set_visible(False) 66plt.show()
(flare) tadokoro@tadokoro-HP-Z440-Workstation:~/study$ python mnist.py 2021-06-02 15:57:34.773801: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory 2021-06-02 15:57:34.773835: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. Traceback (most recent call last): File "mnist.py", line 2, in <module> from keras.layers import Input, Dense File "/home/tadokoro/anaconda3/envs/flare/lib/python3.8/site-packages/keras/__init__.py", line 20, in <module> from . import initializers File "/home/tadokoro/anaconda3/envs/flare/lib/python3.8/site-packages/keras/initializers/__init__.py", line 124, in <module> populate_deserializable_objects() File "/home/tadokoro/anaconda3/envs/flare/lib/python3.8/site-packages/keras/initializers/__init__.py", line 82, in populate_deserializable_objects generic_utils.populate_dict_with_module_objects( AttributeError: module 'keras.utils.generic_utils' has no attribute 'populate_dict_with_module_objects'
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。