共同点很多,那么区别是什么?官方文档灵魂问答
The Model
class has the same API as Layer
, with the following differences:
- It exposes built-in training, evaluation, and prediction loops (
model.fit()
,model.evaluate()
,model.predict()
). - It exposes the list of its inner layers, via the
model.layers
property. - It exposes saving and serialization APIs (
save()
,save_weights()
...)
So if you're wondering, "should I use the Layer
class or the Model
class?", ask yourself: will I need to call fit()
on it? Will I need to call save()
on it? If so, go with Model
. If not (either because your class is just a block in a bigger system, or because you are writing training & saving code yourself), use Layer
.
也就是说 如果需要使用fit,使用save方法,那就使用model类,其他的其实你仅仅写的是一个block,是大模型的一个组成部分