Я запускаю загрузчик данных ниже, который применяет фильтр к микроскопическому изображению перед тренировкой. Чтобы посчитать красный и зеленый. Этот код фильтрует красные клетки. Поскольку я применил это к коду, я продолжаю получать сообщение об ошибке выше. Я попытался увеличить объем памяти до максимально возможного, но это не помогло. Есть ли способ изменить фильтр, чтобы он не приводил к этой проблеме? Заранее большое спасибо
import os
import numpy as np
import torch
from PIL import Image
from torch.utils.data import Dataset
from torchvision import transforms, utils
#from torchvision.transforms import Grayscalei
import pandas as pd
import pdb
import cv2
class CellsDataset(Dataset):
# a very simple dataset
def __init__(self, root_dir, transform=None, return_filenames=False):
self.root = root_dir
self.transform = transform
self.return_filenames = return_filenames
self.files = [os.path.join(self.root,filename) for filename in os.listdir(self.root)]
self.files = [path for path in self.files
if os.path.isfile(path) and os.path.splitext(path)[1]=='.png']
def __len__(self):
return len(self.files)
def __getitem__(self, idx):
path = self.files[idx]
image = cv2.imread(path)
sample = image.copy()
# set blue and green channels to 0
sample[:, :, 0] = 0
sample[:, :, 1] = 0
channel.
if self.transform:
sample = self.transform(sample)
if self.return_filenames:
return sample, path
else:
return sample