Beispiel #1
0
def printMatrix():
    name = input(
        'Input matrix\'s name to be printed. (Read from ".mtrx" file)\n>>>')
    raw = IO.RAWReader()
    raw.open(p.DATA_PATH + name + '.mtrx')
    matrix = IO.getAMatrix(raw)
    IO.printprettyMatrix(matrix)
Beispiel #2
0
def recoverNeuralNetwork():
    name = input('Input NeuralNetwork\'s name to be recovered.\n>>>')
    nn = NeuralNetwork.DFF()
    nn.loadfromFile(name + '_backup')
    nn.Name = name
    IO.setValuetoConfigfile('setting.json', 'latestNN', nn.Name)
    return nn
Beispiel #3
0
def editBackproprogation(MyNeuralNetwork):
    speed = float(input('Input speed value.\n>>>'))
    # targeterr = input('Input target error value.\n>>>')
    IO.setValuetoConfigfile(
        p.SAVED_PATH + MyNeuralNetwork.Name + '_profile.json',
        'LearningAlgorithm', 'BackPropagation')
    IO.setValuetoConfigfile(
        p.SAVED_PATH + MyNeuralNetwork.Name + '_profile.json', 'Speed', speed)
def feedNeuralNetwork(MyNeuralNetwork):
    # string = input('input "row(number of data amount)", "column(number of input layer\'s neuron size)"\n')
    # string = string + ' ' + input('And then input "elements" row after row.\n')
    string= '1 '+str(MyNeuralNetwork.LayerNeuronsCount[0])+' '
    # Single set of data 1 * input size
    string = string+input('Input single data set.(split by space and press enter)\n')
    rawreader = IO.RAWReader()
    rawreader.openString(string)
    M = IO.getAMatrix(rawreader)
    IO.printprettyMatrix(MyNeuralNetwork.feed(M))
def createNeuralNetwork():
    name = input('Input NeuralNetwork\'s name to be created.\n>>>')
    layerscount = int(input('Input "'+name+'" NeuralNetwork\'s layers count.\n>>>'))
    layerneuronscount = []
    for layer in range(0, layerscount):
        layerneuronscount.append(int(input('Input layer('+str(layer+1)+'\\'+str(layerscount)+')\'s neurons count.\n>>>')))
    nn = NeuralNetwork.DFF(layerscount, layerneuronscount, name)
    nn.savetoFile()
    IO.setValuetoConfigfile('setting.json', 'latestNN', nn.Name)
    return nn
def editAdam(MyNeuralNetwork):
    speed = float(input('Input speed value('+str(p.PROFILE_DEFAULT['Speed'])+').\n>>>'))
    beta1 = float(input('Input Beta1(decay rate)('+str(p.PROFILE_DEFAULT['Beta1'])+').\n>>>'))
    beta2 = float(input('Input Beta2(decay rate)('+str(p.PROFILE_DEFAULT['Beta2'])+').\n>>>'))
    # targeterr = input('Input target error value.\n>>>')
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'LearningAlgorithm', 'Adam')
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Speed', speed)
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Beta1', beta1)
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Beta2', beta2)
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Epsilon', p.PROFILE_DEFAULT['Epsilon'])
Beispiel #7
0
def feedNeuralNetworkbymtrx(MyNeuralNetwork):
    name = input('Input .mtrx\'s file name.\n')
    rawreader = IO.RAWReader()
    rawreader.open(p.DATA_PATH + name + '.mtrx')
    M = IO.getAMatrix(rawreader)
    np.set_printoptions(threshold=np.nan)
    np.set_printoptions(precision=3)
    np.set_printoptions(suppress=False)
    IO.printprettyMatrix(MyNeuralNetwork.feed(M))
    pass
def editRMSprop(MyNeuralNetwork):
    speed = float(input('Input speed value('+str(p.PROFILE_DEFAULT['Speed'])+').\n>>>'))
    decayrate = float(input('Input decay rate('+str(p.PROFILE_DEFAULT['DecayRate'])+').\n>>>'))
    # targeterr = input('Input target error value.\n>>>')
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'LearningAlgorithm', 'RMSprop')
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Speed', speed)
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'DecayRate', decayrate)
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Epsilon', p.PROFILE_DEFAULT['Epsilon'])
Beispiel #9
0
 def savetoFile(self, Filename=''):
     if Filename == '':
         Filename = self.Name
     MyRAWWriter = IO.RAWWriter()
     MyRAWWriter.append(int(self.LayersCount))
     for layer in range(0, self.LayersCount):
         MyRAWWriter.append(int(self.LayerNeuronsCount[layer]))
     # Save each layer's neurons count one by one
     MyRAWWriter.newline()
     for layer in range(0, self.LayersCount - 1):
         IO.writeAMatrix(self.Weight[layer], MyRAWWriter)
     # Save each layer's weight one by one
     for layer in range(0, self.LayersCount - 1):
         IO.writeAMatrix(self.Bias[layer], MyRAWWriter)
     # Save each layer's bias one by one
     MyRAWWriter.write(p.SAVED_PATH + Filename + '.node')
Beispiel #10
0
def loadLatestNeuralNetwork():
    name = IO.getValuefromConfigfile('setting.json', 'latestNN')
    nn = NeuralNetwork.DFF()
    if name != None:
        nn.loadfromFile(name)
    else:
        print('No latest NeuralNetwork')
    return nn
Beispiel #11
0
 def loadfromFile(self, Filename):
     try:
         MyRAWReader = IO.RAWReader()
         MyRAWReader.open(p.SAVED_PATH + Filename + '.node')
         self.Name = Filename
         self.LayersCount = int(MyRAWReader.pop())
         self.LayerNeuronsCount = []
         self.Weight = []
         self.Bias = []
         # Get the LayersCount first and Initlalize LayerNeuronsCount, Weight and Bias
         for layer in range(0, self.LayersCount):
             self.LayerNeuronsCount.append(int(MyRAWReader.pop()))
         # Get each layer's neurons count one by one
         for layer in range(0, self.LayersCount - 1):
             self.Weight.append(IO.getAMatrix(MyRAWReader))
         # Get each layer's weight one by one
         for layer in range(0, self.LayersCount - 1):
             self.Bias.append(IO.getAMatrix(MyRAWReader))
         # Get each layer's bias one by one
     except:
         print('warning: Loading ' + Filename + '.node error!')
def editNesterovMomentum(MyNeuralNetwork):
    speed = float(input('Input speed value.\n>>>'))
    momentumrate = float(input('Input momentum rate.\n>>>'))
    # targeterr = input('Input target error value.\n>>>')
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'LearningAlgorithm', 'NesterovMomentum')
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Speed', speed)
    IO.setValuetoConfigfile(p.SAVED_PATH+MyNeuralNetwork.Name+'_profile.json', 'Momentum_Rate', momentumrate)
Beispiel #13
0
def editAdaGrad(MyNeuralNetwork):
    speed = float(input('Input speed value.\n>>>'))
    # targeterr = input('Input target error value.\n>>>')
    IO.setValuetoConfigfile(
        p.SAVED_PATH + MyNeuralNetwork.Name + '_profile.json',
        'LearningAlgorithm', 'AdaGrad')
    IO.setValuetoConfigfile(
        p.SAVED_PATH + MyNeuralNetwork.Name + '_profile.json', 'Speed', speed)
    IO.setValuetoConfigfile(
        p.SAVED_PATH + MyNeuralNetwork.Name + '_profile.json', 'Epsilon',
        p.PROFILE_DEFAULT['Epsilon'])
def trainNeuralNetwork(MyNeuralNetwork):
    error = float(input('Input target error(0.1)\n>>>'))
    epochs = int(input('Input max epochs(-1)\n>>>'))
    print('Getting Datas...')
    Datas = IO.getDatas()
    print('Datas getted')
    if IO.getProfile(MyNeuralNetwork) == None:
        print('You must have training profile first!')
        editNeuralNetworkProfile(MyNeuralNetwork)
    Profile = IO.getProfile(MyNeuralNetwork)
    # Get Input/OutputData to matrix
    if IO.getValuefromConfigfile('setting.json', 'Verbose') != None:
        verbose = int(IO.getValuefromConfigfile('setting.json', 'Verbose'))
    else:
        verbose = p.VERBOSE_DEFAULT
    if IO.getValuefromConfigfile('setting.json', 'Loop_per_N_times') != None:
        loop = int(IO.getValuefromConfigfile('setting.json', 'Loop_per_N_times'))
    else:
        loop = p.VERBOSE_PER_LOOP_DEFAULT
    # Setting from config file
    TrainingType.trainbyBatch(MyNeuralNetwork, Datas, error, epochs, Profile, verbose, loop)
Beispiel #15
0
def setValuetoConfigfile():
    listConfigfileValues()
    name = input('Name Code:\n>>>')
    value = input('Value:\n>>>')
    IO.setValuetoConfigfile('setting.json', ConfigDict[str(name)], value)
Beispiel #16
0
def idx2mtrx():
    FilenameIn = input('Input input IDX file name\n')
    FilenameOut = input('Input output mtrx filename.\n')
    IO.idx2mtrx(FilenameIn, FilenameOut)
Beispiel #17
0
def listConfigfileValues():
    print('Config list:')
    print('[v] Verbose Level. -> ' +
          str(IO.getValuefromConfigfile('setting.json', 'Verbose')))
    print('[n] Verbose per "N" times. -> ' +
          str(IO.getValuefromConfigfile('setting.json', 'Loop_per_N_times')))
Beispiel #18
0
def getLatestNeuralNetworkName():
    return IO.getValuefromConfigfile('setting.json', 'latestNN')
Beispiel #19
0
def loadNeuralNetwork():
    name = input('Input NeuralNetwork\'s name to be loaded.\n>>>')
    nn = NeuralNetwork.DFF()
    nn.loadfromFile(name)
    IO.setValuetoConfigfile('setting.json', 'latestNN', nn.Name)
    return nn
Beispiel #20
0
def editTest1(MyNeuralNetwork):

    # targeterr = input('Input target error value.\n>>>')
    IO.setValuetoConfigfile(
        p.SAVED_PATH + MyNeuralNetwork.Name + '_profile.json',
        'LearningAlgorithm', 'Test1')
Beispiel #21
0
def printNeuralNetworkProfile(MyNeuralNetwork):
    print(MyNeuralNetwork.Name + ' neuralnet\'s training profile:')
    print(IO.getProfile(MyNeuralNetwork))