Skip to content

Instantly share code, notes, and snippets.

def generateImagesOfVariousSizes(numberOfPoints):
directory = 'data/countingVariousSizes/' + str(numberOfPoints) + '/'
os.makedirs(directory, exist_ok=True)
#Create 5,000 images of this class
for j in tnrange(5000):
path = directory + str(j) + '.png'
#Get points
x, y = createNonOverlappingPoints(numberOfPoints)
#Create plot
learner = create_cnn(data, models.resnet34, metrics=error_rate)
learner.fit_one_cycle(15, max_lr=slice(1e-4, 1e-2))
learner = create_cnn(data, models.resnet34, metrics=error_rate)
learner.fit_one_cycle(3)
path = 'data/counting'
np.random.seed(42)
data = ImageDataBunch.from_folder(path, train=".", valid_pct=0.2,
ds_tfms=get_transforms(), size=224, num_workers=4).normalize(imagenet_stats)
data.show_batch(rows=3, figsize=(7,8))
learner = create_cnn(data, models.resnet34, metrics=error_rate)
learner.fit_one_cycle(3)
path = 'data/counting'
data = ImageDataBunch.from_folder(path, train=".", valid_pct=0.2,
ds_tfms=get_transforms(), size=224, num_workers=4).normalize(imagenet_stats)
data.show_batch(rows=3, figsize=(7,8))
import random
import numpy as np
import matplotlib.pyplot as plt
def createNonOverlappingPoints(numElements):
x = np.zeros((numElements)) + 2 #Place the cirlces offscreen
y = np.zeros((numElements)) + 2 #Place the circles offscreen
for i in range(0, numElements):
learner.fit_one_cycle(15, max_lr=slice(1e-4))
learner.save('stage-1')
learner.unfreeze()
learner.lr_find()
learner.recorder.plot()
learner = create_cnn(data, models.resnet34, metrics=error_rate)
learner.fit_one_cycle(5)