1、我们在训练一个网络前后,网络模型不变,只是参数改变了,那网络所占内存大小是不是应该也不变啊?也就是说同一个网络结构,不管怎么训练,其大小都是一样的?
2、还有就是比如 teachable machine,输入几张图像去训练,效果也还可以,我下载他们的模型大小是2.34MB,是不是说明他们用的是一个较小的模型?那是不是就是说弄一个小一点的模型,然后预训练,再用用户输入的图像去微调那?还是说也可以用一个大的训练好的模型,固定前面的参数,微调后面几层的参数那?
3、可不可以根据下载下来的模型得到网络结构那?我通过 h5py 得到了一些数据,那怎么读那?
只要模型结构不变,那么模型大小是一样的,只不过模型里面的超参会不一样,超参会随着数据和训练次数等因素变化。
一般来说,同种类型的网络(像yolo5,有s,l,m,x四个大小的),网络越大的效果会越好,但是带来的问题就是精度会下降。所以一般预训练的模型大小就是你训练后的模型大小。迁移学习的话两种都可以的,看你对网络大小和深度是否有需求。
你想要网络结构的话,有个神器(https://netron.app/),用这个东西加载,如果这个打不开的话,试试(https://github.com/lutzroeder/netron),可以直观的看到网络结构,包括网络连接和走向,参数类型等。我看你图片里面的模型是keras的,那可以用keras来加载模型预测。
import tensorflow as tf
model=tf.keras.models.load_model('model.h5')
变什么参数,改变模型结构的参数大小也会变化,改变超参大小不会变,会有细微改变,数字变了有小差别。
二者都可
正则化匹配