Newer
Older
# We can initialize the train_dataset with its transform as None.
# Later on, we will change this object's transform attribute to the policy
# that we want to test
import torchvision.datasets as datasets
import torchvision
import autoaug.child_networks as cn
from autoaug.autoaugment_learners.AaLearner import AaLearner
from autoaug.autoaugment_learners.GenLearner import GenLearner
import pickle
# train_dataset = datasets.MNIST(root='./datasets/mnist/train',
# train=True, download=True, transform=None)
# test_dataset = datasets.MNIST(root='./datasets/mnist/test',
# train=False, download=True, transform=torchvision.transforms.ToTensor())
# train_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/train',
# train=True, download=True, transform=None)
# test_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/test',
# train=False, download=True,
# transform=torchvision.transforms.ToTensor())
train_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
test_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
train=False, download=True,
# child_network_architecture = cn.EasyNet(
# img_height=28,
# img_width=28,
# num_labels=10,
# img_channels=1
# )
child_network_architecture = cn.LeNet(
img_height=32,
img_width=32,
num_labels=10,
img_channels=3
)
sp_num=2,
toy_size=0.01,
batch_size=4,
learning_rate=0.05,
max_epochs=float('inf'),
early_stop_num=10,
)
agent.learn(train_dataset,
test_dataset,
child_network_architecture=child_network_architecture,
with open('genetic_logs.pkl', 'wb') as file:
pickle.dump(agent.history, file)
print(sorted(agent.history, key = lambda x: x[1], reverse = True))
print("ACCURACIES IN TIME: ")
for iter, (pol, acc) in enumerate(agent.history):
print("pol: ", pol)
print("acc: ", acc)