关于TF中自动求导机制

 

其中,GradientTape(persistent=False, watch_accessed_variables=False)有两个参数:persistent和watch_accessed_variables

persistent: 布尔值,用来指定新创建的gradient tape是否是可持续性的。默认是False,意味着只能够调用一次gradient()函数。

例如:这里persistent默认为False,那么在下面第二次调用gradient()函数时,就会报错。如果后面需要继续求导,那么这个参数设置为True就可以了。如果多次调用gradient()函数,需要最后del tape来释放这个上下文管理器。

 

 

 

 

 

 

 watch_accessed_variables: 布尔值,表明这个gradien tap是不是会自动追踪任何能被训练(trainable)的变量。默认是True。要是为False的话,意味着你需要手动去指定你想追踪的那些变量。

 

如果watch_accessed_variables设置为False,可以在后面手动调用watch来监控指定变量。

 

 

如果变量不是Variable类型的,而是张量类型,也可以通过watch来监控。

 

 

 

 

 

 

posted @ 2020-04-13 15:25  牛公的跑奔  阅读(387)  评论(0编辑  收藏  举报
总访问量:AmazingCounters.com