In [1]:
%matplotlib inline
path = "data/galaxy/sample/"
#path = "data/galaxy/"
train_path = path + 'train/'
valid_path = path + 'valid/'
test_path = path + 'test/'
results_path = path + 'results/'
model_path = path + 'model/'
In [2]:
from utils import *
In [3]:
batch_size = 32
num_epoch = 1
In [4]:
import pandas as pd
df = pd.read_csv(path+ "train.csv")
df_val = pd.read_csv(path+ "valid.csv")
In [69]:
# custom iterator for regression
import Iterator; reload(Iterator)
from Iterator import DirectoryIterator
imgen = image.ImageDataGenerator()
batches = DirectoryIterator(train_path, imgen,
class_mode=None,
dataframe=df,
batch_size=4,
target_size=(128,128))
val_imgen = image.ImageDataGenerator()
val_batches = DirectoryIterator(valid_path, val_imgen,
class_mode=None,
dataframe=df_val,
batch_size=4,
target_size=(128,128))
In [75]:
model = Sequential([
BatchNormalization(axis=1, input_shape=(3,128,128)),
Flatten(),
Dense(37, activation='softmax')
])
In [76]:
model.compile(Adam(), loss='mean_squared_error')
model.fit_generator(batches, batches.nb_sample, nb_epoch=2, validation_data=val_batches,
nb_val_samples=val_batches.nb_sample)
Out[76]:
In [77]:
model.summary()
In [78]:
np.round(model.predict_generator(batches, batches.N)[:5],2)
Out[78]:
In [85]:
model = Sequential([
BatchNormalization(axis=1, input_shape=(3,128,128)),
Flatten(),
Dense(37, activation='softmax')
])
model.compile(Adam(lr=1e-30), loss='mean_squared_error')
model.fit_generator(batches, batches.nb_sample, nb_epoch=2, validation_data=val_batches,
nb_val_samples=val_batches.nb_sample)
Out[85]:
In [86]:
np.round(model.predict_generator(batches, batches.N)[:5],2)
Out[86]:
In [ ]: