其中,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来监控。