Files
self-replicating-neural-net…/related/EP/src/evalSomething.py
T
2021-05-03 08:37:31 +02:00

66 lines
2.0 KiB
Python

import matplotlib
matplotlib.use('Agg')
import datetime
from keras.utils import plot_model
import copy
import numpy as np
import decimal
try:
from src.PltData import PltData
from src.Functions import Functions
from src.NeuralNetwork import NeuralNetwork
from src.FeatureReduction import FeatureReduction
except ImportError:
from PltData import PltData
from NeuralNetwork import NeuralNetwork
from FeatureReduction import FeatureReduction
import Functions
def getRangeAroundNumber(myNumber, rangeWidth):
'''
Gibt einen Zahlen Bereich rund um myNumber aus
:param myNumber:
:return:
'''
try:
myNumber = myNumber.real
except TypeError:
myNumber = myNumber
d = decimal.Decimal(myNumber.real)
ex = 3
print(myNumber*(10**ex))
start = myNumber*(10**ex)-rangeWidth
stop = myNumber * (10**ex) + rangeWidth
data = np.arange(start, stop, 1)
data = data / (10**ex)
return data
def evalSomething(numberOfNeurons, activationFunctions, featureReduction,
numberLoops, loss):
nn = NeuralNetwork(numberOfNeurons, activationFunctions, featureReduction,
numberLoops, loss, printVectors=False)
nn.addLayers()
nn.loadModel()
weights = nn.model.get_weights()
data = np.array([nn.featureReductionFunction.calc(weights, nn.numberOfNeurons[0])])
fp = data[0][0]
#data = getRangeAroundNumber(fp, 30)
data = np.arange(-10000, 10000, 1)
start = min(data)
stop = max(data)
step = abs((start-stop)/len(data))
text = nn.getDescription() +"\nFixpunkt: "+ str(fp)
nn.evaluate(data, str(start)+"_"+str(stop)+"_"+str(step), text= text + "\nStart: " +str(start) +"\nStop "+ str(stop) + "\nStep "+ str(step))
v = np.array([1,2,3,24])
for i in v:
evalSomething(numberOfNeurons=[1, i, 1], activationFunctions=["sigmoid", "linear"], featureReduction='rfft',
numberLoops=100000, loss='mean_squared_error')
i-=1