首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何减小".h5“中的模型文件大小

如何减小".h5“中的模型文件大小
EN

Stack Overflow用户
提问于 2022-05-11 08:31:18
回答 2查看 645关注 0票数 1

我使用的是tensorflow和keras 2.8.0版本。

我有以下网络:

代码语言:javascript
运行
复制
#defining model
  model=Sequential()
  #adding convolution layer
  model.add(Conv2D(256,(3,3),activation='relu',input_shape=(256,256,3)))
  #adding pooling layer
  model.add(MaxPool2D(2,2))
  #adding fully connected layer
  model.add(Flatten())
  model.add(Dense(100,activation='relu'))
  #adding output layer
  model.add(Dense(len(classes),activation='softmax'))

  #compiling the model
  model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['accuracy'])

  #fitting the model
  model.fit(x_tr,y_tr,epochs=epochs, ) 
  # Alla 12-esima epoca, va a converge a 1
  # batch size è 125 credo, non so il motivo

  #evaluting the model
  loss_value, accuracy = model.evaluate(x_te, y_te)
  #loss_value, accuracy, top_k_accuracy = model.evaluate(x_te, y_te, batch_size=batch_size)
  print("loss_value: " + str(loss_value))
  print("acuracy: " + str(accuracy))

  #predict first 4 images in the test set
  ypred = model.predict(x_te)

关键是,现在我试图以".h5“格式保存模型,但是如果我将其训练为100个历元或1个历元,我将得到一个4.61Gb文件模型。

为什么这个文件这么大?我怎样才能缩小这个型号的尺寸?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-13 09:14:33

我发现(经过5个月的经验),为了缩小模型尺寸、提高精度评分和降低损失值,需要采取的步骤如下:

  1. 对标签进行分类,然后更改模型的损失函数。
  2. 将范围内的数据标准化-1,1
  3. 使用密集层,增加参数,然后是模型的维数:有时甚至没有帮助。有更多的参数并不意味着有更多的准确性。为了找到解决方案,您必须多次尝试更改网络,使用不同的激活函数和优化器(如SGD或Adam )。
  4. 为learning_rate、decay_rate、decay_values等选择较好的参数。这些参数给你一个更好或更坏的结果。
  5. 使用batch_size = 32或64
  6. 使用一步一步加载数据集的函数,而不是在RAM中一次加载所有数据集,因为它使过程变得更慢,甚至不需要:如果您正在使用keras,那么您当然可以使用tf.data.Dataset.from_tensor_slices((x, y)).batch(32 , drop_remainder=True),当然,它应该用于培训、测试、验证。

希望这是有帮助的

票数 1
EN

Stack Overflow用户

发布于 2022-05-11 09:59:34

通用原因:h5文件的大小仅基于模型的参数数。

在构造模型之后,添加行model.summary(),并查看模型一般具有的参数数。

减少模型大小的步骤--:您的conv层中有很多过滤器。由于我不知道您想用您的模型实现什么,所以我仍然建议您将过滤器的数量分离到不同的conv层,并在其中添加Pooling层。将缩小图像,特别是减少Flatten层的参数数。有关Pooling层的更多信息可以找到这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72197835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档