I am using this code to load image and add date stamp that I want to remove.
import torchvision.transforms as transforms
transform = transforms.Compose(
[transforms.ToTensor()])
class ImageL(Dataset):
def init(self,folder,width,height,transform):
self.folder = folder
self.transform = transform
self.images = glob.glob(os.path.join(folder,‘jpg’,’’,’.jpg’))
self.toal_imgs = natsorted(self.images)
self.ts = time.time()
self.ts = datetime.datetime.fromtimestamp(self.ts).strftime('%d-%m-%Y_%H-%M-%S')
self.width = width
self.heigth_im = height
def __len__(self):
return len(self.toal_imgs)
def __getitem__(self, i):
st = self.ts
width = self.width
height = self.heigth_im
font = cv2.FONT_HERSHEY_SIMPLEX
img_loc = self.toal_imgs[i]
img = cv2.imread(img_loc)
img_noise = cv2.putText(img, st, (10, 500), font, 1, (255, 255, 255), 2)
img_noise = cv2.resize(img_noise, (width, height))
#img_noise = img_noise.astype('float32') / 255
img = cv2.resize(img, (width, height))
#img = img.astype('float32') / 255
imp = np.asarray(img)
img_noise = np.asarray(img_noise)
#img = np.moveaxis(img,2,0)
#img_noise = np.moveaxis(img_noise,2,0)
img = self.transform(img)
img_noise = self.transform(img_noise)
return (img_noise,img)
batch_size = 32
width = 48
height = 48
my_dataset = ImageL(’/Users/knutjorgenbjuland/PycharmProjects/autoencoder’,width,height,transform)
trainset = data.DataLoader(my_dataset , batch_size=batch_size, shuffle=False,
num_workers=4, drop_last=True)
I used this as source for my code, https://medium.com/@garimanishad/reconstruct-corrupted-data-using-denoising-autoencoder-python-code-aeaff4b0958e
However when I am using loss = criterion(outputs.,labels)
I get this error,
RuntimeError: only batches of spatial targets supported (3D tensors) but got targets of dimension: 4