- 博客(4)
- 收藏
- 关注
原创 RuntimeError: One of the differentiated Tensors appears to not have been used in the graph. Set allo
此处错误是因为使用了输入X的切片X[:,0:1]来作为第二个参数inputs的输入,而计算u的时候实际使用的是X作为输入,就会导致出现这种问题。作用是如果梯度所依赖的张量未被使用,可以跳过该梯度计算,但是通常不建议使用这个。此处的inputs参数的输入修改为X,然后在得到的结果中取第1列即可。这个错误信息表示在计算梯度时,其中一个张量没有被用于计算图中。2.可以在autograd函数中增加。
2024-12-18 10:00:00
877
原创 RuntimeError: One of the differentiated Tensors does not require grad
但是实际使用了这个方法依然会出现相同报错。那就说明了不是u的问题,应该是X没有设置可以求导的计算图。故在self.net_u之前加上X.requires_grad = True即可。尝试计算梯度时,其中一个张量(即。参数中传递的张量)并没有启用。在计算梯度之前,必须确保。,导致无法计算梯度。
2024-12-17 11:12:18
799
原创 ModuleNotFoundError: No module named ‘Model.Model‘; ‘Model‘ is not a package
但是我的文件夹并没有问题,也是有_init_.py文件的。只不过我是在用一个文件夹下的Loss.py文件中调用的Model.py的DNN函数。参考了网络上其它人的博客,将当前脚本的父级目录添加到 Python 的模块搜索路径中后问题得到解决。Python 无法找到名为 Model.Model 的模块或包。
2024-12-12 10:00:00
735
原创 RuntimeError: Trying to backward through the graph a second time
我的代码出现报错的主要原因是我的这个adaptive_weight函数中使用了ic_loss_i,bc_loss_i,pde_loss_i的导数。导致ic_loss_i,bc_loss_i,pde_loss_i的计算图被释放。如果你需要多次反向传播或者保留计算图中的中间值,你需要做一些额外的处理。我的解决方案就是重新单独计算一个ic_loss_ii,bc_loss_ii,pde_loss_ii,用于计算自适应权重lambda_ic_new,lambda_bc_new,lambda_pde_new即可。
2024-12-11 09:25:41
865
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅