美文网首页机器学习
DL4J中文文档/模型/模型持久化

DL4J中文文档/模型/模型持久化

作者: hello风一样的男子 | 来源:发表于2018-11-08 22:13 被阅读23次

神经网络的存储与加载

ModelSerializer(模型序列化器)是一个处理加载和保存模型的类。通过链接显示的示例中保存模型有两种方法。第一个例子保存了一个正常的多层网络,第二个例子保存了一个计算图。

下面是一个基本示例,其中包含使用ModelSerializer类保存计算图的代码,以及使用ModelSerializer保存使用MultiLayer配置构建的神经网络的示例。

RNG 种子

如果你的模型使用概率(即,DropOut/DropConnect),那么单独保存它并在恢复模型之后应用它可能是有意义的;即:

 Nd4j.getRandom().setSeed(12345);
 ModelSerializer.restoreMultiLayerNetwork(modelFile);

image.gif

这将保证会话/JVM之间相等的结果。

模型序列化器


ModelSerializer(模型序列化器)

[源码]

适用于保存/恢复神经网络模型的实用类

writeModel

public static void writeModel(@NonNull Model model, @NonNull File file, boolean saveUpdater) throws IOException 

image.gif

把一个模型写入文件

  • 参数 model 要写入的模型
  • 参数 file 要写入的文件
  • 参数 saveUpdater 是否保存更新器
  • 抛出 IOException

writeModel

public static void writeModel(@NonNull Model model, @NonNull File file, boolean saveUpdater,DataNormalization dataNormalization) throws IOException 

image.gif

把一个模型写入文件

  • 参数 model 要写入的模型

  • 参数 file 要写入的文件

  • 参数 saveUpdater 是否保存更新器

  • 参数 dataNormalization 数据归一化

  • 抛出 IOException

writeModel

public static void writeModel(@NonNull Model model, @NonNull String path, boolean saveUpdater) throws IOException 

image.gif

把一个模型写入文件路径

  • 参数 model 要写入的模型
  • 参数 file 要写入的文件路径
  • 参数 saveUpdater 是否保存更新器
  • 抛出 IOException

writeModel

public static void writeModel(@NonNull Model model, @NonNull OutputStream stream, boolean saveUpdater)
            throws IOException 

image.gif

把一个文件写入到输出流

  • 参数 model 要写入的模型
  • 参数 stream 要写入的输入流
  • 参数 saveUpdater 是否保存更新器
  • 抛出 IOException

writeModel

public static void writeModel(@NonNull Model model, @NonNull OutputStream stream, boolean saveUpdater,DataNormalization dataNormalization)
            throws IOException 

image.gif

把一个文件写入到输出流

  • 参数 model 要写入的模型

  • 参数 stream 要写入的输入流

  • 参数 saveUpdater 是否保存更新器

  • 参数 dataNormalization 要被保存的归一化器 (可能为空)

  • 抛出 IOException

restoreMultiLayerNetwork

public static MultiLayerNetwork restoreMultiLayerNetwork(@NonNull File file) throws IOException 

image.gif

从文件中加载多层网络

  • 参数 file 要从中加载的文
  • 返回加载的多层网络
  • 抛出 IOException

restoreMultiLayerNetwork

public static MultiLayerNetwork restoreMultiLayerNetwork(@NonNull File file, boolean loadUpdater)
            throws IOException 

image.gif

从文件中加载多层网络

  • 参数 file 要从中加载的文
  • 参数loadUpdater是否加载更新器
  • 返回加载的多层网络
  • 抛出 IOException

restoreMultiLayerNetwork

public static MultiLayerNetwork restoreMultiLayerNetwork(@NonNull InputStream is, boolean loadUpdater)
            throws IOException 

image.gif

从输入流加载多层网络

注:输入流被完全读取并通过该方法关闭。因此,不能重新使用输入流。

  • 参数 is 要从中加载的输入流

  • 参数loadUpdater是否加载更新器

  • 返回加载的多层网络

  • 抛出 IOException

  • 查看 #restoreMultiLayerNetworkAndNormalizer(InputStream, boolean)

restoreMultiLayerNetwork

public static MultiLayerNetwork restoreMultiLayerNetwork(@NonNull InputStream is) throws IOException 

image.gif

从输入流加载多层网络

注:输入流被完全读取并通过该方法关闭。因此,不能重新使用输入流。

  • 参数 is 要从中加载的输入流
  • 参数loadUpdater是否加载更新器
  • 返回加载的多层网络
  • 抛出 IOException
  • 查看 #restoreMultiLayerNetworkAndNormalizer(InputStream, boolean)

restoreMultiLayerNetwork

public static MultiLayerNetwork restoreMultiLayerNetwork(@NonNull String path) throws IOException 

image.gif

从文件路径中加载多层网络

  • 参数 path 要从中加载的文路径
  • 返回加载的多层网络
  • 抛出 IOException

restoreMultiLayerNetwork

public static MultiLayerNetwork restoreMultiLayerNetwork(@NonNull String path, boolean loadUpdater)
            throws IOException 

image.gif

从文件路径中加载多层网络

  • 参数 path 要从中加载的文路径

  • 参数loadUpdater是否加载更新器

  • 返回加载的多层网络

  • 抛出 IOException

restoreComputationGraph

public static ComputationGraph restoreComputationGraph(@NonNull String path) throws IOException 

image.gif

从一个文件路径中加载计算图

  • 参数 path 要从中加载的文路径

restoreComputationGraph

public static ComputationGraph restoreComputationGraph(@NonNull String path, boolean loadUpdater)
            throws IOException 

image.gif

从文件路径中加载计算图

  • 参数 path 要从中加载的文件路径
  • 参数loadUpdater是否加载更新器

restoreComputationGraph

public static ComputationGraph restoreComputationGraph(@NonNull InputStream is, boolean loadUpdater)
            throws IOException 

image.gif

从输入流中加载计算图

  • 参数is 要从中加载的输入流
  • 参数loadUpdater是否加载更新器
  • 抛出 IOException

restoreComputationGraph

public static ComputationGraph restoreComputationGraph(@NonNull InputStream is) throws IOException 

image.gif

从输入流中加载计算图

  • 参数is 要从中加载的输入流
  • 抛出 IOException

restoreComputationGraph

public static ComputationGraph restoreComputationGraph(@NonNull File file) throws IOException 

image.gif

从文件中加载计算图

  • 参数 file 要从中加载的文件
  • 抛出 IOException

restoreComputationGraph

public static ComputationGraph restoreComputationGraph(@NonNull File file, boolean loadUpdater) throws IOException 

image.gif

从文件中加载计算图

  • 参数 file 要从中加载的文件
  • 参数loadUpdater是否加载更新器
  • 抛出 IOException

taskByModel

public static Task taskByModel(Model model) 

image.gif

addNormalizerToModel

public static void addNormalizerToModel(File f, Normalizer<?> normalizer) 

image.gif

此方法将归一化器追加到给定的持久化模型中。

请注意:文件应该是ModelSerializer早期保存的模型文件。

  • 参数 f 文件
  • 参数 normalizer 归一化器

addObjectToFile

public static void addObjectToFile(@NonNull File f, @NonNull String key, @NonNull Object o)

image.gif

使用Java对象序列化将对象添加到(已经存在的)模型文件中。对象可以恢复 使用 {- link #getObjectFromFile(File, String)}

  • 参数 f 将对象添加到的文件
  • 参数 key 存储对象的键
  • 参数 o 使用Java列化存储的对象

翻译:风一样的男子

image

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

image

相关文章

  • DL4J中文文档/模型/模型持久化

    神经网络的存储与加载 ModelSerializer(模型序列化器)是一个处理加载和保存模型的类。通过链接显示的示...

  • DL4J中文文档/调优与训练/可视化

    内容 用DL4J UI可视化网络训练DL4J UI:概述DL4J UI:模型 DL4J UI与Spark训练 使用...

  • iOS数据持久化

    Title: iOS数据持久化 ##数据持久化概念 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型...

  • sikit-learn模型持久化

    sikit-learn模型持久化(导出)model persistence模型持久化。 1)使用pickle工具 ...

  • TensorFlow笔记(一)

    一:变量管理 二:模型持久化方法1.保存模型 2.加载已保存的模型

  • sklearn-modle persistence

    模型持久化指将训练好的模型保存起来,以便于下次再次测试。据sklearn官网介绍,模型持久化一般有两种方式。 方式...

  • 模型持久化

    模型持久化应该使用joblib或者pickle 所以上面两者不是一致的意思 还需要joblib可以持久化 可以参照...

  • mashibing的ddd

    贫血模型:固有行为:不用持久化: 数据对象模型中非固有能力:需要跟数据库进行持久化; 业务逻辑层 关联对象要能...

  • MyBatis框架介绍及实战操作

    一、基本概念和介绍 数据持久化的概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数...

  • MyBatis框架介绍及实战操作

    一、基本概念和介绍 数据持久化的概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数...

网友评论

    本文标题:DL4J中文文档/模型/模型持久化

    本文链接:https://www.haomeiwen.com/subject/jumgxqtx.html