def iterRows(md): """ Iterate over the rows of the given metadata. """ # If md is string, take as filename and create the metadata if isinstance(md, basestring): md = MetaData(md) row = Row() for objId in md: row.readFromMd(md, objId) yield row
def getFirstRow(filename): """ Create a MetaData but only read the first row. This method should be used for validations of labels or metadata size, but the full metadata is not needed. """ md = MetaData() md.read(filename, 1) if md.getParsedLines(): row = Row() row.readFromMd(md, md.firstObject()) else: row = None return row
def test_many_arguments(self): row = Row(thing='a', item=2, stuff=True) self.assertEqual(row.thing, 'a') self.assertEqual(row.item, 2) self.assertEqual(row.stuff, True) attributes = {x for x in dir(row) if not x.startswith('__')} self.assertEqual(attributes, {'thing', 'item', 'stuff'})
def iterRows(md, sortByLabel=None): """ Iterate over the rows of the given metadata. Params: md: a MetaData object or a filename (MetaData will be read) sortByLabel: a label to sort the metadata before iterate. """ # If md is string, take as filename and create the metadata if isinstance(md, basestring): md = MetaData(md) if sortByLabel is not None: md.sort(sortByLabel) row = Row() for objId in md: row.readFromMd(md, objId) yield row
def getFirstRow(mdOrFn): """ Return the first object of a metadata. Params: mdOrFn: you can pass a metadata or a filename as argument. """ if isinstance(mdOrFn, basestring): md = MetaData() md.read(mdOrFn, 1) else: # mdOrFn is MetaData md = mdOrFn if md.getParsedLines(): row = Row() row.readFromMd(md, md.firstObject()) else: row = None return row
from classes import (Start_Neuron, Hidden_Neuron, End_Neuron, Row) from mnist import MNIST import random as r mndata = MNIST('data') images, labels = mndata.load_training() neuron_id = 0 value_of_neuron = 0 end_row = Row(3, 10) hidden_row_2 = Row(2, 16, end_row) hidden_row_1 = Row(1, 16, hidden_row_2) init_row = Row(0, 784, hidden_row_1) network = [init_row, hidden_row_1, hidden_row_2, end_row] print("-" * 10 + " Initializing Network " + "-" * 10) while True: if neuron_id < 784: rowid = 0 print("adding neuron no." + str(neuron_id) + " to inital row") init_row.neurons[neuron_id] = Start_Neuron(neuron_id, rowid) elif neuron_id < 784 + 16: rowid = 1 print("adding neuron no." + str(neuron_id) + " to hidden row 1") hidden_row_1.neurons[neuron_id] = Hidden_Neuron(neuron_id, rowid) elif neuron_id < 784 + 16 + 16: rowid = 2 print("adding neuron no." + str(neuron_id) + " to hidden row 2") hidden_row_2.neurons[neuron_id] = Hidden_Neuron(neuron_id, rowid) elif neuron_id < 784 + 16 + 16 + 10:
def test_no_positional_arguments_accepted(self): with self.assertRaises(Exception): Row(1, 2) with self.assertRaises(Exception): Row(1)
def test_two_arguments(self): row = Row(a=1, b=2) self.assertEqual(row.a, 1) self.assertEqual(row.b, 2) attributes = {x for x in dir(row) if not x.startswith('__')} self.assertEqual(attributes, {'a', 'b'})
def test_single_argument(self): row = Row(a=1) self.assertEqual(row.a, 1) attributes = {x for x in dir(row) if not x.startswith('__')} self.assertEqual(attributes, {'a'})
def test_no_arguments(self): row = Row() attributes = {x for x in dir(row) if not x.startswith('__')} self.assertEqual(attributes, set())