〇学習済のkerasのモデルをロードして、実行すると、以下のようなエラーが出ます。
同じようなpgmの、SVMではエラーは出ないのですが、なぜでしょうか?
モデルの作成、学習、評価、モデル保存、ロードは正常に稼働しました。
ロードしたモデルの実行でエラーになります。
ご指導、よろしくお願いいたします。
AttributeError Traceback (most recent call last)
<ipython-input-263-b992f4e997c5> in <module>
1 # 新たに予測する
----> 2 result = loaded_model.score(x_test_new , y_test_new)
3 print(result)
AttributeError: 'Sequential' object has no attribute 'score'
〇以下、実際のPGMとエラーです。(エラーは上記と同じです)
from pandas import Series,DataFrame
import pandas as pd
◆エクセルの入力ファイル名、シート名を指定
df = pd.read_excel('iris_data.xlsx',sheet_name='target')
◆データをコピーする。
df_X = df.copy()
df_Y = df.copy()
◆取得したExcelデータから属性データのみを取り出す
df_X = df_X.drop('Target',axis=1)
◆取得したExcelデータから目的変数のみを取り出す
drop_idx = ['sepal length (cm)', 'sepal width (cm)','petal length (cm)','petal width (cm)']
df_Y = df_Y.drop(drop_idx,axis=1)
◆訓練データと評価用データに分割
from sklearn.model_selection import train_test_split as split
x_train, x_test, y_train, y_test = split(df_X,df_Y,train_size=0.8,test_size=0.2)
import tensorflow as tf
import keras
from keras.layers import Dense,Activation
◆ニュートラルネットワークで使用するモデル作成
model = keras.models.Sequential()
model.add(Dense(units=32,input_dim=4))
model.add(Activation('relu'))
model.add(Dense(units=3))
model.add(Activation('softmax'))
model.compile(loss='sparse_categorical_crossentropy',optimizer='sgd',metrics=['accuracy'])
◆学習の実行
model.fit(x_train,y_train,epochs=100)
◆評価の実行
score = model.evaluate(x_test, y_test,batch_size = 1)
print(score[1])
30/30 [==============================] - 0s 399us/step
0.5666666666666667
◆モデルを保存する
import pickle
filename = 'finalized_model_keras_1.sav'
pickle.dump(model, open(filename, 'wb'))
◆保存したモデルをロードする
loaded_model = pickle.load(open(filename, 'rb'))
◆新たに予測するデータ
x_train, x_test_new, y_train, y_test_new = split(df_X,df_Y,train_size=0.8,test_size=0.2)
◆新たに予測する(実行)
result = loaded_model.score(x_test_new , y_test_new)
print(result)
以下、エラー---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-263-b992f4e997c5> in <module>
1 # 新たに予測する
----> 2 result = loaded_model.score(x_test_new , y_test_new)
3 print(result)
AttributeError: 'Sequential' object has no attribute 'score'
以上です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/23 09:14
2019/08/23 09:18
2019/08/23 09:27