使用分割技术查找疑似结节
1. 构建二维变换矩阵
在处理数据时,我们需要用到变换矩阵。下面的 _build2dTransformMatrix 函数用于创建这个变换矩阵:
def _build2dTransformMatrix(self):
transform_t = torch.eye(3)
for i in range(2):
if self.flip:
if random.random() > 0.5:
transform_t[i,i] *= -1
if self.rotate:
angle_rad = random.random() * math.pi * 2
s = math.sin(angle_rad)
c = math.cos(angle_rad)
rotation_t = torch.tensor([
[c, -s, 0],
[s, c, 0],
[0, 0, 1]])
transform_t @= rotation_t
return transform_t
这个函数创建了一个 3×3 的矩阵,后续会去掉最后一行。这里主要是对 2D 数据进行增强操作,随机选取一个弧度在 0 到 2π 之间的角度进行旋转,并将旋转操作应用到变换矩阵上。
GPU 增强代码和 CPU 增强代码非常相似,
超级会员免费看
订阅专栏 解锁全文
55

被折叠的 条评论
为什么被折叠?



