我也不知道改了什么

This commit is contained in:
jiao77
2025-03-31 14:41:26 +08:00
parent 79cec17a50
commit 956805997e
10 changed files with 1278417 additions and 7 deletions

View File

@@ -3,7 +3,7 @@ from PIL import Image
import torchvision.transforms as transforms
def layout_transforms():
"""定义数据增强和预处理"""
"""Define data augmentation and preprocessing."""
return transforms.Compose([
transforms.Resize((256, 256)), # 调整尺寸到固定大小
transforms.RandomRotation(30), # 随机旋转(增强方向不变性)
@@ -13,19 +13,30 @@ def layout_transforms():
])
def layout_to_tensor(layout_path, target_size=(256, 256)):
"""将版图转换为标准化张量"""
# 实际应用中可能需要解析GDSII/LEF格式此处简化处理
img = Image.open(layout_path).convert('L') # 灰度化
"""Convert layout to normalized tensor."""
img = Image.open(layout_path).convert('L') # Convert to grayscale
img = img.resize(target_size, resample=Image.BILINEAR)
return np.array(img) / 255.0 # 归一化到[0,1]
return np.array(img) / 255.0 # Normalize to [0,1]
def tile_layout(large_layout, block_size=64, overlap_ratio=0.5):
def tile_layout(large_layout, block_size=64):
"""将大版图分割为小块(滑动窗口方式)"""
height, width = large_layout.shape
stride = int(block_size * (1 - overlap_ratio)) # 步长设置重叠区域
stride = block_size // 2 # 步长设置重叠区域
tiles = []
for y in range(0, height - block_size +1, stride):
for x in range(0, width - block_size +1, stride):
tile = large_layout[y:y+block_size, x:x+block_size]
tiles.append((x, y, tile))
return tiles
"""将大版图分割为小块(滑动窗口方式)"""
def tile_layout(large_layout, block_size=64, overlap_ratio=0.5):
"""Split large layout into tiles with specified overlap."""
height, width = large_layout.shape
stride = block_size // 2 # 步长设置重叠区域
stride = int(block_size * (1 - overlap_ratio)) # Calculate step size based on overlap ratio
tiles = []
for y in range(0, height - block_size + 1, stride):
for x in range(0, width - block_size + 1, stride):
tile = large_layout[y:y+block_size, x:x+block_size]
tiles.append((x, y, tile))
return tiles