Skip to content
Snippets Groups Projects
Commit 7f8fc18d authored by Sun Jin Kim's avatar Sun Jin Kim
Browse files

added some files

parent 3afe129f
No related branches found
No related tags found
No related merge requests found
write `import MetaAugment.autoaugment_learners as aa`
and `aa_learner = aa.randomsearch_learner()`
to use
\ No newline at end of file
from .randomsearch_learner import *
\ No newline at end of file
# DUMMY PSEUDOCODE!
#
# this might become the superclass for all other autoaugment_learners
# This is sort of how our AA_Learner class should look like:
class aa_learner:
def __init__(self, controller):
self.controller = controller
def learn(self, train_dataset, test_dataset, child_network, res, toy_flag):
'''
Does what is seen in Figure 1 in the AutoAugment paper.
'res' stands for resolution of the discretisation of the search space. It could be
a tuple, with first entry regarding probability, second regarding magnitude
'''
good_policy_found = False
while not good_policy_found:
policy = self.controller.pop_policy()
train_loader, test_loader = create_toy(train_dataset, test_dataset,
batch_size=32, n_samples=0.005)
reward = train_child_network(child_network, train_loader, test_loader, sgd, cost, epoch)
self.controller.update(reward, policy)
return good_policy
\ No newline at end of file
This diff is collapsed.
import MetaAugment.autoaugment_learners as aa
class RandomSearch_Learner(aa):
def __init__(self):
super().__init__()
def randomsearch_learner():
model = RandomSearch_Learner()
return model
\ No newline at end of file
write `import MetaAugment.child_networks as child_networks`
and `child_network = child_networks.lenet()`
to use
\ No newline at end of file
from .lenet import *
from .bad_lenet import *
\ No newline at end of file
import torch.nn as nn
class Bad_LeNet(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(1, 6, 5)
self.relu1 = nn.ReLU()
self.pool1 = nn.MaxPool2d(2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.relu2 = nn.ReLU()
self.pool2 = nn.MaxPool2d(2)
self.fc1 = nn.Linear(256, 120)
self.relu3 = nn.ReLU()
self.fc2 = nn.Linear(120, 84)
self.relu4 = nn.ReLU()
self.fc3 = nn.Linear(84, 10)
self.relu5 = nn.ReLU()
def forward(self, x):
y = self.conv1(x)
y = self.relu1(y)
y = self.pool1(y)
y = self.conv2(y)
y = self.relu2(y)
y = self.pool2(y)
y = y.view(y.shape[0], -1)
y = self.fc1(y)
y = self.relu3(y)
y = self.fc2(y)
y = self.relu4(y)
y = self.fc3(y)
y = self.relu5(y)
return y
def bad_lenet():
model = Bad_LeNet()
return model
\ No newline at end of file
import torch.nn as nn
class LeNet(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(1, 6, 5)
self.relu1 = nn.ReLU()
self.pool1 = nn.MaxPool2d(2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.relu2 = nn.ReLU()
self.pool2 = nn.MaxPool2d(2)
self.fc1 = nn.Linear(256, 120)
self.relu3 = nn.ReLU()
self.fc2 = nn.Linear(120, 84)
self.relu4 = nn.ReLU()
self.fc3 = nn.Linear(84, 10)
self.relu5 = nn.ReLU()
def forward(self, x):
y = self.conv1(x)
y = self.relu1(y)
y = self.pool1(y)
y = self.conv2(y)
y = self.relu2(y)
y = self.pool2(y)
y = y.view(y.shape[0], -1)
y = self.fc1(y)
y = self.relu3(y)
y = self.fc2(y)
y = self.relu4(y)
y = self.fc3(y)
y = self.relu5(y)
return y
def lenet():
model = LeNet()
return model
\ No newline at end of file
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment