文件夹中的多张png图片转化为tensor,并进行标准化处理后保存的完整代码
时间: 2024-03-22 22:39:51 浏览: 72
tensorflow下的图片标准化函数per_image_standardization用法
好的,以下是Python代码:
```python
import os
import numpy as np
from PIL import Image
import torch
from torchvision import transforms
# 定义转换操作
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
# 定义文件夹路径
folder_path = "./images/"
# 定义空列表,用于存储处理后的tensor
tensor_list = []
# 遍历文件夹,将图片转换为tensor并进行标准化处理
for filename in os.listdir(folder_path):
if filename.endswith('.png'):
img_path = os.path.join(folder_path, filename)
img = Image.open(img_path)
img_tensor = transform(img)
tensor_list.append(img_tensor)
# 将tensor列表转换为张量
tensor_array = torch.stack(tensor_list)
# 保存张量为文件
torch.save(tensor_array, 'tensor_array.pt')
```
这段代码与上一个代码块基本相同,只是在最后使用了`torch.save`将张量保存为文件。可以将`tensor_array.pt`替换为你想要保存的文件名。
阅读全文