TensorFlow-keras fit的callbacks参数,定值保存模型

from tensorflow.python.keras.preprocessing.image import load_img,img_to_array
from tensorflow.python.keras.models import Sequential,Model
from tensorflow.python.keras.layers import Dense,Flatten,Input
import tensorflow as tf
from tensorflow.python.keras.losses import sparse_categorical_crossentropy
from tensorflow.python import keras
import os
import numpy as np

class SingleNN(object):

    #建立神经网络模型
    model = keras.Sequential([
        keras.layers.Flatten(input_shape=(28,28)),
        keras.layers.Dense(128,activation=tf.nn.relu),
        keras.layers.Dense(10,activation=tf.nn.softmax)
    ])

    def __init__(self):
        (self.x_train,self.y_train),(self.x_test,self.y_test) = keras.datasets.fashion_mnist.load_data()
        #归一化
        self.x_train = self.x_train/255.0
        self.x_test = self.x_test/255.0

    def singlenn_compile(self):
        ‘‘‘
        编译模型优化器、损失、准确率
        :return:
        ‘‘‘
        SingleNN.model.compile(
            optimizer=keras.optimizers.SGD(lr=0.01),
            loss=keras.losses.sparse_categorical_crossentropy,
            metrics=[‘accuracy‘]
        )

    def singlenn_fit(self):
        """
        进行fit训练
        :return:
        """
        # modelcheck = keras.callbacks.ModelCheckpoint("./ckpt/singlenn_{epoch:02d}-{acc:.2f}.h5",
        #                                         # monitor="val_acc", #保存损失还是准确率
        #                                         # save_best_only=True,
        #                                         save_weights_only=True,
        #                                         mode = ‘auto‘,
        #                                         period = 1
        #                                         )
        board = keras.callbacks.TensorBoard(log_dir="./graph",write_graph=True)
        SingleNN.model.fit(self.x_train,self.y_train,epochs=5,callbacks=[board])

    def single_evalute(self):
        ‘‘‘
        模型评估
        :return:
        ‘‘‘
        test_loss,test_acc = SingleNN.model.evaluate(self.x_test,self.y_test)
        print(test_loss,test_acc)

    def single_predict(self):
        ‘‘‘
        预测结果
        :return:
        ‘‘‘
        # if os.path.exists("./ckpt/checkpoink"):
        #     SingleNN.model.load_weights("./ckpt/SingleNN")

        if os.path.exists("./ckpt/SingleNN.h5"):
            SingleNN.model.load_weights("./ckpt/SingleNN.h5")

        predictions = SingleNN.model.predict(self.x_test)

        return predictions

if __name__ == ‘__main__‘:
    snn = SingleNN()
    snn.singlenn_compile()
    snn.singlenn_fit()
    snn.single_evalute()
    # # SingleNN.model.save_weights("./ckpt/SingleNN")
    # SingleNN.model.save_weights("./ckpt/SingleNN.h5")
    # predictions = snn.single_predict()
    # print(predictions)
    # result = np.argmax(predictions,axis=1)
    # print(result)

  

原文地址:https://www.cnblogs.com/LiuXinyu12378/p/12250739.html

时间: 2024-10-09 13:18:10

TensorFlow-keras fit的callbacks参数,定值保存模型的相关文章

keras 保存模型

转自:https://blog.csdn.net/u010159842/article/details/54407745,感谢分享! 我们不推荐使用pickle或cPickle来保存Keras模型 你可以使用model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含: 模型的结构,以便重构该模型 模型的权重 训练配置(损失函数,优化器等) 优化器的状态,以便于从上次训练中断的地方开始 使用keras.models.load_model(filepath)

Keras保存模型

保存模型 model.save_weights('model_weights.h5') 加载模型 先初始化模型 model.load_weights('model_weights.h5') 原文地址:https://www.cnblogs.com/rise0111/p/11621651.html

Tensorflow中保存模型时生成的各种文件区别和作用

假如我们得到了如下的checkpoints, 上面的文件主要可以分成三类:一种是在保存模型时生成的文件,一种是我们在使用tensorboard时生成的文件,还有一种就是plugins这个文件夹,这个是使用capture tpuprofile工具生成的,该工具可以跟踪TPU的计算过程,并对你的模型性能进行分析,这里就不想详细介绍了.本文主要介绍前面两种文件的作用: tensorboard文件 events.out.tfevents.*...: 保存的就是你的accuracy或者loss在不同时刻的

pytorch1.0 用torch script导出保存模型

python的易上手和pytorch的动态图特性,使得pytorch在学术研究中越来越受欢迎,但在生产环境,碍于python的GIL等特性,可能达不到高并发.低延迟的要求,存在需要用c++接口的情况.除了将模型导出为ONNX外,pytorch1.0给出了新的解决方案:pytorch 训练模型 - 通过torch script中间脚本保存模型 -- C++加载模型.最近工作需要尝试做了转换,总结一下步骤和遇到的坑. 用torch script把torch模型转成c++接口可读的模型有两种方式:tr

[Pytorch]Pytorch 保存模型与加载模型(转)

转自:知乎 目录: 保存模型与加载模型 冻结一部分参数,训练另一部分参数 采用不同的学习率进行训练 1.保存模型与加载 简单的保存与加载方法: # 保存整个网络 torch.save(net, PATH) # 保存网络中的参数, 速度快,占空间少 torch.save(net.state_dict(),PATH) #-------------------------------------------------- #针对上面一般的保存方法,加载的方法分别是: model_dict=torch.

caffe使用ctrl-c不能保存模型

caffe使用Ctrl-c 不能保存模型: 是因为使用的是 tee输出日志 解决方法:kill -s SIGINT <proc_id> 或者使用 GLOG_log_dir=/path/to/log/dir $CAFFE_ROOT/bin/caffee.bin train -solver=/path/to/solver.prototxt 来输出日志

细说 Web API参数绑定和模型绑定

今天跟大家分享下在Asp.NET Web API中Controller是如何解析从客户端传递过来的数据,然后赋值给Controller的参数的,也就是参数绑定和模型绑定. Web API参数绑定就是简单类型的绑定,比如:string,char,bool,int,uint,byte,sbyte,short,ushort,long, float这些基元类型.模型绑定就是除此之外的复杂类型的绑定.大家都知道在MVC中模型绑定都是通过默认的DefaultModelBinder来绑定的,没有Get请求和P

TensorFlow keras 迁移学习

数据的读取 import tensorflow as tf from tensorflow.python import keras from tensorflow.python.keras.preprocessing.image import ImageDataGenerator class TransferModel(object): def __init__(self): #标准化和数据增强 self.train_generator = ImageDataGenerator(rescale=

转:ubuntu 下GPU版的 tensorflow / keras的环境搭建

http://blog.csdn.net/jerr__y/article/details/53695567 前言:本文主要介绍如何在 ubuntu 系统中配置 GPU 版本的 tensorflow 环境.主要包括: - cuda 安装 - cudnn 安装 - tensorflow 安装 - keras 安装 其中,cuda 安装这部分是最重要的,cuda 安装好了以后,不管是 tensorflow 还是其他的深度学习框架都可以轻松地进行配置. 我的环境: Ubuntu14.04 + TITAN