guodong's blog

master@zhejiang university
   

tensorflow2.0学tu习cao笔记

1. model subclass模式,需要在__init__函数里注册每个卷积层,不然model.summary()无输出,也无法保存权重,不如function api

2. reshape函数,如果batchsize为none,可以用tf.shape()[0]来获取。

3. 对模型输入时,可以对input进行batchsize的规定,这样再也不用担心batchsize是none了,放心的用reshape,放心的用for i in range(batchsize),需要注意的是,model.fit里batchsize需要和input的batchsize相同。

4. 模型多输出的处理,分别对每个输出应用损失函数,这种情况适合两种输出相互无关的情况。如果两个输出具有强耦合,即一个损失函数可能同时用到这两种输出,那么可以用model.add(loss_function(ytrue,ypred)),然后model.comple里不需要对loss规定。需要注意的是,model input别忘了+上y_true input。(这种情况比较扯,纯属自己作,既然这两种可能是强耦合,为什么不两种输出合并为一个输出。)

5.keras集成度太高了,反而会产生一些误解,不如l2正则划,如果你在conv里添加了l2正则划,那么其他的完全不用管,模型会自动加入到损失函数并反向传播,经过验证确实是。。。不需要额外的添加model.losses




上一篇:
下一篇:没有了

头像

guodong

没有评论


你先离开吧:)



发表评论

电子邮件地址不会被公开。 必填项已用*标注