コード例 #1
0
from nnet import NNet
from verbosePrint import vprint
import verbosePrint

nn = NNet(sizes=[12, 22, 4], bias=True)
nn.setActivations(['tanh', 'sigmoid'])

verbosePrint.vIteration = -1
verbosePrint.stage = ''

cycles = 20
report = max(1, cycles / 10)
checkupParams = (inputData, targetData, inputTraining, 25)

if cycles > 0:
    nn.checkup(*checkupParams)
    for iteration in range(cycles + 1):
        vprint(iteration, '~~~~~~~~~~~ Iteration %d ~~~~~~~~~~~' % iteration)
        combinedError = 0
        for row_index in range(len(targetTraining)):
            datain = inputTraining[row_index:row_index + 1]
            goal_prediction = targetTraining[row_index:row_index + 1]
            prediction = nn.fire(datain)
            # print('Prediction:' + str(prediction))
            vprint(iteration, nn)

            error = (goal_prediction - prediction)**2
            combinedError += error

            nn.learn(datain, goal_prediction)
コード例 #2
0
inputTraining = inputData
targetTraining = targetData

# nn = NNet(sizes=[5, 3], bias=True)
nn = NNet(sizes=[6, 12, 2], bias=True)
# nn = NNet([[[-0.829638, 0.164111, 0.398885],
#             [-0.603684, -0.603331, -0.819179],
#             [-0.080592, -0.386044, -0.931615],
#             [0.762514, -0.142887, -0.737862],
#             [0.175430, 0.790112, -0.267367],
#             [-0.732674, -0.825474, 0.232357]]], bias=True)
# ]])
nn.setActivations(['relu', 'linear'])
nn.setVerbose([])

nn.checkup(inputData, targetData)

verbosePrint.vIteration = -1
verbosePrint.stage = ''

cycles = 1000
report = cycles / 10

for iteration in range(cycles + 1):
    vprint(iteration, '~~~~~~~~~~~ Iteration %d ~~~~~~~~~~~' % iteration)
    combinedError = 0
    for row_index in range(len(targetTraining)):
        datain = inputTraining[row_index:row_index + 1]
        goal_prediction = targetTraining[row_index:row_index + 1]
        prediction = nn.fire(datain)
        # print('Prediction:' + str(prediction))
コード例 #3
0
import sys
from netExamples.grokking.mnist import \
    images, labels, test_images, test_labels

from nnet import NNet
np.random.seed(1)

iterations = 351

nn = NNet(sizes=[784, 40, 10])
nn.setActivations(['relu', 'linear'])
nn.setAlpha(0.005)
nn.scale(0.1)

nn.fire(images[0:1])
nn.checkup(images[0:1], labels[0:1])
# vprint(0, nn)

for j in range(iterations):
    error, correct_cnt = (0.0, 0)
    for i in range(len(images)):
        # vprint(i, nn, quit=True)
        prediction = nn.learn(images[i:i + 1], labels[i:i + 1])
        # vprint(i, nn, suffix='b', quit=True)

        error += np.sum((labels[i:i + 1] - prediction)**2)
        correct_cnt += int(np.argmax(prediction) == \
                           np.argmax(labels[i:i + 1]))

        sys.stdout.write("\r I:" + str(j) + \
            " Train-Err:" + str(error / float(len(images)))[0:5] + \