深度学习模型在文件中是什么样的?

数据挖掘 深度学习
2022-02-16 14:39:23

那么在你用数百万行数据训练你的模型之后,保存在磁盘中的模型是什么样的呢?它是否包含数百万个可以做出最佳预测的权重和偏差?

2个回答

是的你是对的。这取决于您用于训练模型的框架。

例如,如果您使用 tensorflow 框架,则训练好的模型将被保存到多个文件中。您可以通过两种方式保存和加载模型:

  • 检查点
  • 保存的模型(冻结)

请检查此链接。这里

在 keras 中,模型权重保存为 HDF5 格式。这是一种网格格式,非常适合存储多维数字数组。您可以保存模型并将其加载到文件中:

  1. 将模型保存到 JSON。
  2. 将模型保存到 YAML。

模型的 JSON 格式如下所示:

    {  
   "keras_version":"2.0.2",
   "backend":"theano",
   "config":[  
      {  
     "config":{  
        "dtype":"float32",
        "bias_regularizer":null,
        "activation":"relu",
        "bias_constraint":null,
        "use_bias":true,
        "bias_initializer":{  
           "config":{  

           },
           "class_name":"Zeros"
        },
        "kernel_regularizer":null,
        "activity_regularizer":null,
        "kernel_constraint":null,
        "trainable":true,
        "name":"dense_1",
        "kernel_initializer":{  
           "config":{  
              "maxval":0.05,
              "minval":-0.05,
              "seed":null
           },
           "class_name":"RandomUniform"
        },
        "batch_input_shape":[  
           null,
           8
        ],
        "units":12
     },
     "class_name":"Dense"
  },
  {  
     "config":{  
        "kernel_regularizer":null,
        "bias_regularizer":null,
        "activation":"relu",
        "bias_constraint":null,
        "use_bias":true,
        "bias_initializer":{  
           "config":{  

           },
           "class_name":"Zeros"
        },
        "activity_regularizer":null,
        "kernel_constraint":null,
        "trainable":true,
        "name":"dense_2",
        "kernel_initializer":{  
           "config":{  
              "maxval":0.05,
              "minval":-0.05,
              "seed":null
           },
           "class_name":"RandomUniform"
        },
        "units":8
     },
     "class_name":"Dense"
  },
  {  
     "config":{  
        "kernel_regularizer":null,
        "bias_regularizer":null,
        "activation":"sigmoid",
        "bias_constraint":null,
        "use_bias":true,
        "bias_initializer":{  
           "config":{  

           },
           "class_name":"Zeros"
        },
        "activity_regularizer":null,
        "kernel_constraint":null,
        "trainable":true,
        "name":"dense_3",
        "kernel_initializer":{  
           "config":{  
              "maxval":0.05,
              "minval":-0.05,
              "seed":null
           },
           "class_name":"RandomUniform"
        },
        "units":1
     },
     "class_name":"Dense"
  }

   ],
   "class_name":"Sequential"
}

这取决于,没有一般规则。虽然可以像列表或 JSON 文件一样简单。