0001-keras規(guī)范類的基本模型

代碼如下

from keras.layers import Input, Dense
from keras.models import Model
from keras import models
class Arg:
    input_size = 784
    #模型參數(shù)
    #訓練參數(shù)
    epochs = 1000    
    #度量參數(shù)    
class LinearModel:
    def __init__(self,args):
        #參數(shù)
        self.input_size = args.input_size
        self.epochs = args.epochs
        #創(chuàng)建和編譯模型
        self.model = self._build_model()        
    def _build_model(self):             
        inputs = Input(shape=(self.input_size,))        
        x = Dense(64, activation='relu')(inputs)
        x = Dense(64, activation='relu')(x)
        predictions = Dense(10, activation='softmax')(x)        
        model = Model(inputs=inputs, outputs=predictions)
        model.compile(optimizer='rmsprop',loss='categorical_crossentropy', metrics=['accuracy'])        
        return model       
    
    def fit(self,X,y):
        history = self.model.fit(X,y,epochs=self.epochs)
        return history        
    def predict(self,X):
        return self.model.predict(X)              
    def save_model(self,path):
        return self.model.save(path)        
    def load_model(self,path):
        return models.load_model(path)    
    def load_model_structure(self):
        return self.model.summary()
        
if __name__ == "__main__":
    from keras.utils import to_categorical    
    import numpy as np
    X = np.linspace(start=20, stop=100, num=100*784).reshape(100,784)
    y = np.random.randint(10,size=(100,))
    y = to_categorical(y,num_classes=10)    
    args = Arg()    
    model = LinearModel(args)    
    history = model.fit(X,y)    
    y_hat = model.predict(X)    
    model.save_model("H:/model.h5")
    model = model.load_model("H:/model.h5")
    model.predict(X)        
    ```
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容