python - 使用包含 requires_grad=True 参数的三重 for 循环时,Python 内核死亡(Pytorch)
问题描述
我只想存储para_k
在COV
矩阵的每个位置,其中:
para_k=torch.tensor([2.0],requires_grad=True).
而且因为我想稍后通过优化损失函数来更新参数(这里省略),我必须添加另一个 for 循环。因此,整个代码如下:
import torch
para_k=torch.tensor([2.0],requires_grad=True)
for t in range(5):
num_row=300
num_col=300
COV = torch.zeros((num_row,num_col))
for i in range(num_row):
for j in range(num_col):
COV[i,j]=para_k
print('i= %d ,j= %d' % (i,j) )
Spyder 无法完成这个简单的计算!!nrow
如果我更改并小于 100,事情会顺利ncol
进行。如果我使用大于 100 的数字,它会发送错误消息(有时甚至无法完成一次迭代)内核死亡并重新启动:Spyder Kernel Died
我什至卸载并再次安装我的 Anaconda 并重新安装 pytorch。我也尝试以管理员身份运行 Spyder,但仍然出现错误。我检查了我的系统的事件,错误是:关于pythonw.exe的ntdll.dll。我将 pythonw.exe 列为防火墙的例外,但仍然无法解决问题。
解决方案
推荐阅读
- javascript - 为什么我的 Move Zeroes 函数在 leetcode 中是错误答案?
- node.js - 读取 http/2 推送流失败并出现错误 -505
- docker - 是否可以向 docker run 提供秘密?
- javascript - javascript中字符串类型中看到的列表列表
- node.js - 将函数的 json 结果保存在 javascript 对象中
- eclipse - 将 .jar 添加到 Eclipse 2018-09 项目
- apache-superset - 如何将 apache superset 直接与 google BigQuery 连接?
- vba - 将长文本插入表中时访问 VBA 错误
- wcf - .Net Core 不支持 WSHttpBinding
- java - ArrayList of ArrayList of Integers