pytorch 矩阵操作 发表于 2020-03-05 分类于 深度学习 阅读次数: 本文字数: 522 阅读时长 ≈ 1 分钟 矩阵分片取坐标时超出矩阵范围分片出现小于0的坐标会导致赋值无效12345678910y, x = 1, 1nearby_mask = torch.zeros((6, 6))nearby_mask[y - 2:y + 2, x - 2:x + 2] = 1>>> [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]] 分片出现大于矩阵尺度的坐标会导致部分赋值12345678910y, x = 5, 2nearby_mask = torch.zeros((6, 6))nearby_mask[y - 2:y + 2, x - 2:x + 2] = 1>>> [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [1., 1., 1., 1., 0., 0.], [1., 1., 1., 1., 0., 0.], [1., 1., 1., 1., 0., 0.]] 建议写法1nearby_mask[max(0, y - 2):y + 2, max(0, x - 2):x + 2] = 1 相关文章 pytorch GCN 实现以及使用