在__init__()
函数中定义图层的方法,稍后转发中的调用图层和在forward()
函数中直接使用图层的方法有什么区别?
在编写计算图之前,我应该在构造函数中定义计算图中的每一层(例如__init__
)吗?
我可以在forward()
中直接定义和使用它们吗?
答案 0 :(得分:3)
您应在__init__
方法中定义包含您希望在培训过程中接受培训的权重的所有内容。
您不需要在softmax
中定义ReLU
,sigmoid
或__init__
等激活功能,您只需在forward
中调用它们即可}。
例如,辍学图层也不需要在__init__
中定义,它们也可以在forward
中调用。但是,在__init__
中定义它们的优势在于,在评估期间可以更轻松地关闭它们(通过在模型上调用eval()
)。
希望这很清楚。只要问你是否还有其他问题。