def __init__(self): self.outData = [] self.tuplesCovered = [] self.aqiTrainingLUT = {} self.aqiTestLUT = {} self.dateTimeLUT = {} self.dateTimeCE = Tesla(order=2, numInputs=2); self.coarseLatCE = Tesla(order=3, numInputs=1); self.coarseLngCE = Tesla(order=3, numInputs=1); self.aqiCE = Tesla(order=3, numInputs=3);
import numpy as np import os.path import pickle from Tesla import Tesla # Tesla training objects refrigeratorTrainer1 = Tesla(order=2,numInputs=1); refrigeratorTrainer2 = Tesla(order=2,numInputs=2); refrigeratorTrainer3 = Tesla(order=2,numInputs=3); refrigeratorTrainer4 = Tesla(order=2,numInputs=4); # Pickle files for trained data refrigeratorPickleFile1 = 'traces/refrigeratorTrained1.dat'; refrigeratorPickleFile2 = 'traces/refrigeratorTrained2.dat'; refrigeratorPickleFile3 = 'traces/refrigeratorTrained3.dat'; refrigeratorPickleFile4 = 'traces/refrigeratorTrained4.dat'; # Open the files needed: input trace and output observations refrigeratorTrace = open('traces/refrigerator.dat', mode='r'); refrigeratorOutputTrace = open('traces/refrigerator_obs.dat', mode='r'); # First, parse the first 3 elements, needed as additional inputs # Add observations to the appropriate tesla training objects# First observation # First observation (timestamp, refrigeratorEntry1) = refrigeratorTrace.readline().split(); refrigeratorEntry1 = float(refrigeratorEntry1); (timestamp, refrigeratorOutput) = refrigeratorOutputTrace.readline().split(); refrigeratorOutput = int(refrigeratorOutput); refrigeratorTrainer1.addSingleObservation([refrigeratorEntry1], refrigeratorOutput);
## For different tests, these values will vary. inputFilePath = "3192_bathroomPrescence_Input.csv" outputFilePath = "3192_bathroomPrescence_Output.csv" complexity = Complexity.thirdOrder numTrainingSamples = 5000 numExecuteSamples = 6320 numInputs = 2 inputFile = open(inputFilePath) outputFile = open(outputFilePath) inputReader = csv.reader(inputFile) outputReader = csv.reader(outputFile) ## Change the name of the algorithm to test it out. algorithmTest = Tesla(complexity, numInputs, 0, [0] * numInputs, {}) teslaTimestamps = {} knnTimestamps = {} for trainingSample in range(numTrainingSamples): inputRow = next(inputReader) outputRow = next(outputReader) if (len(inputRow) > 0): inputs = [float(x) for x in inputRow[0:numInputs]] output = float(outputRow[0]) firstTS = time.time() algorithmTest.addSingleObservation(inputs, output) secondTS = time.time() teslaTimestamps["load" + str(trainingSample)] = secondTS - firstTS print(str(trainingSample))
from Tesla import Tesla f = open("myTestFile.txt", 'r') x = f.readlines() print(x) Tesla(x[0], int(x[1]), x[2], x[3], x[4])
from ContextEngineBase import Complexity ## For different tests, these values will vary. inputFilePath = "../python/Tesla/teslaInput.csv" outputFilePath = "../python/Tesla/teslaOutput.csv" complexity = Complexity.firstOrder; numTrainingSamples = 5; numExecuteSamples = 5; inputFile = open(inputFilePath); outputFile = open(outputFilePath); inputReader = csv.reader(inputFile); outputReader = csv.reader(outputFile); ## Change the name of the algorithm to test it out. algorithmTest = Tesla(Complexity.firstOrder, 1, 0, [0, 0], {}); teslaTimestamps = {}; knnTimestamps = {}; for trainingSample in range(numTrainingSamples): inputRow = next(inputReader); outputRow = next(outputReader); if (len(inputRow) > 0): input1 = float(inputRow[0]); input2 = float(inputRow[1]); output = float(outputRow[0]); firstTS = time.time(); algorithmTest.addSingleObservation([input1, input2], output); secondTS = time.time(); teslaTimestamps["load" + str(trainingSample)] = secondTS - firstTS;
import numpy as np import os.path import pickle import math from Tesla import Tesla # Tesla training objects kitchOut2Trainer = Tesla(order=2,numInputs=1); kitchOut3Trainer = Tesla(order=2,numInputs=1); kitchOut4Trainer = Tesla(order=2,numInputs=1); microwaveTrainer = Tesla(order=2,numInputs=1); oven01Trainer = Tesla(order=2,numInputs=1); oven02Trainer = Tesla(order=2,numInputs=1); refrigeratorTrainer = Tesla(order=2,numInputs=1); stoveTrainer = Tesla(order=2,numInputs=1); # Pickle files for trained data kitchOut2PickleFilename = 'traces/kitch_out2_trained_order' + str(kitchOut2Trainer.functionOrder) + '.dat'; kitchOut3PickleFilename = 'traces/kitch_out3_trained_order' + str(kitchOut3Trainer.functionOrder) + '.dat'; kitchOut4PickleFilename = 'traces/kitch_out4_trained_order' + str(kitchOut4Trainer.functionOrder) + '.dat'; microwavePickleFilename = 'traces/microwave_trained_order' + str(microwaveTrainer.functionOrder) + '.dat'; oven01PickleFilename = 'traces/oven01_trained_order' + str(oven01Trainer.functionOrder) + '.dat'; oven02PickleFilename = 'traces/oven02_trained_order' + str(oven02Trainer.functionOrder) + '.dat'; refrigeratorPickleFilename = 'traces/refrigerator_trained_order' + str(refrigeratorTrainer.functionOrder) + '.dat'; stovePickleFilename = 'traces/stove_trained_order' + str(stoveTrainer.functionOrder) + '.dat'; # Open the files needed: input trace and output observations kitchOut2Trace = open('traces/kitch_out2.dat', mode='r'); kitchOut3Trace = open('traces/kitch_out3.dat', mode='r');