前提・実現したいこと
Pythonを用いてDeeplearningを行いたいです。
ログを用いて異常検知を行うことを目的に行なっているのですが、エラーが出て前に進めない状況です。
dataには列数が1106,行数が151186ある行列が入っています。
それをX_train, X_test, Y_train, Y_testに分けていきます。
これを実装するとうまくいかずエラーが出てしまう現状です。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ Traceback (most recent call last): File "lstm_tokutyou.py", line 55, in <module> model.add(Dense(n_out, kernel_initializer=weight_variable)) File "/usr/local/lib/python3.7/site-packages/keras/engine/sequential.py", line 182, in add output_tensor = layer(self.outputs[0]) File "/usr/local/lib/python3.7/site-packages/keras/engine/base_layer.py", line 463, in __call__ self.build(unpack_singleton(input_shapes)) File "/usr/local/lib/python3.7/site-packages/keras/layers/core.py", line 895, in build constraint=self.kernel_constraint) File "/usr/local/lib/python3.7/site-packages/keras/engine/base_layer.py", line 279, in add_weight weight = K.variable(initializer(shape, dtype=dtype), TypeError: weight_variable() got an unexpected keyword argument 'dtype'
該当のソースコード
python
1ソースコード 2import csv 3import re 4import datetime 5import time 6import numpy as np 7import matplotlib.pyplot as plt 8from keras.models import Sequential 9from keras.layers.core import Dense, Activation 10from keras.layers.recurrent import LSTM 11from keras.layers.wrappers import Bidirectional 12from keras.optimizers import Adam 13from keras.callbacks import EarlyStopping 14from sklearn import datasets 15from sklearn.model_selection import train_test_split 16from sklearn.utils import shuffle 17 18data = np.loadtxt("lstm_tokutyou1002.csv",delimiter=",") 19X = data[:,:1105] 20y = data[:,-1] 21Y = np.eye(2)[y.astype(int)] 22del y 23X_train, X_test, Y_train, Y_test = \ 24 train_test_split(X, Y, test_size=0.3) 25 26X_train, X_validation, Y_train, Y_validation = \ 27 train_test_split(X_train, Y_train, test_size=0.2) 28 29''' 30モデル設定 31''' 32n_in = 151186 33n_long = 1105 34n_hidden = 128 35n_out = 10 36 37 38def weight_variable(shape, name=None): 39 return np.random.normal(scale=.01, size=shape) 40 41 42early_stopping = EarlyStopping(monitor='val_loss', patience=10, verbose=1) 43 44model = Sequential() 45model.add(Bidirectional(LSTM(n_hidden), 46 input_shape=(n_long,n_in))) 47model.add(Dense(n_out, kernel_initializer=weight_variable)) 48model.add(Activation('softmax')) 49 50model.compile(loss='categorical_crossentropy', 51 optimizer=Adam(lr=0.001, beta_1=0.9, beta_2=0.999), 52 metrics=['accuracy']) 53 54''' 55モデル学習 56''' 57epochs = 300 58batch_size = 250 59 60hist = model.fit(X_train, Y_train, 61 batch_size=batch_size, 62 epochs=epochs, 63 validation_data=(X_validation, Y_validation), 64 callbacks=[early_stopping]) 65 66''' 67学習の進み具合 68''' 69acc = hist.history['val_acc'] 70loss = hist.history['val_loss'] 71 72plt.rc('font', family='serif') 73fig = plt.figure() 74plt.plot(range(len(loss)), loss, 75 label='loss', color='black') 76plt.xlabel('epochs') 77plt.show() 78 79''' 80予測精度の評価 81''' 82loss_and_metrics = model.evaluate(X_test, Y_test) 83print(loss_and_metrics) 84
試したこと
ネットで調べてもいい回答が見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
機種名: Mac mini
機種ID: Macmini7,1
プロセッサ名: Intel Core i7
プロセッサ速度: 3 GHz
absl-py 0.8.0
astor 0.8.0
chainer 5.1.0
cycler 0.10.0
filelock 3.0.10
gast 0.3.2
google-pasta 0.1.7
grpcio 1.23.0
h5py 2.10.0
Keras 2.3.0
Keras-Applications 1.0.8
Keras-Preprocessing 1.1.0
kiwisolver 1.1.0
Markdown 3.1.1
matplotlib 3.1.1
numpy 1.15.4
pandas 0.23.4
pip 19.1.1
protobuf 3.6.1
pyparsing 2.4.2
python-dateutil 2.7.5
pytz 2018.7
PyYAML 5.1.2
scikit-learn 0.20.1
scipy 1.1.0
setuptools 41.0.1
six 1.12.0
sklearn 0.0
tensorboard 1.14.0
tensorflow 1.14.0
tensorflow-estimator 1.14.0
termcolor 1.1.0
Werkzeug 0.15.6
wheel 0.33.4
wrapt 1.11.2
回答1件
あなたの回答
tips
プレビュー