示例#1
0
    (datasetName, dataColumns),
]

# :: Prepares the dataset to be used with the LSTM-network. Creates and stores cPickle files in the pkl/ folder ::
pickleFile = perpareDataset(embeddingsPath, datasetFiles)

######################################################
#
# The training of the network starts here
#
######################################################

#Load the embeddings and the dataset
embeddings, word2Idx, datasets = loadDatasetPickle(pickleFile)
data = datasets[datasetName]

print("Dataset:", datasetName)
print(data['mappings'].keys())
print("Label key: ", labelKey)
print("Train Sentences:", len(data['trainMatrix']))
print("Dev Sentences:", len(data['devMatrix']))
print("Test Sentences:", len(data['testMatrix']))

model = BiLSTM(params)
model.setMappings(embeddings, data['mappings'])
model.setTrainDataset(data, labelKey)
model.verboseBuild = True
model.modelSavePath = "models/%s/%s/[DevScore]_[TestScore]_[Epoch].h5" % (
    datasetName, labelKey)  #Enable this line to save the model to the disk
model.evaluate(50)
示例#2
0
f1_file.write('\n____________________________\n')
f1_file.write('function: ' + f)
f1_file.write('\n____________________________\n')
f1_file.write('Units,1,2,3,4,5,max,min,average,standard deviation'
              )  # average results after

f1_file.write('\n' + str(size[0]) + ',')
params['LSTM-Size'] = size
params['scores'] = []
params["dev_scores"] = []
for i in range(num_repeats):
    model = BiLSTM(params)
    model.setMappings(embeddings, data['mappings'])
    model.setTrainDataset(data, labelKey)
    model.verboseBuild = True
    model.evaluate(epochs)

max = np.max(params['scores'])
min = np.min(params['scores'])
average = np.average(params['scores'])
stddev = np.std(params['scores']) * 100
print("length of scores ", len(params['scores']))
params['scores'] += [max, min, average, stddev]

for s in params['scores']:
    f1_file.write(str(s) + ',')

f1_file.write("\t" + ",".join([str(x) for x in params["dev_scores"]]))

f1_file.flush()
os.fsync(f1_file)