コード例 #1
0
ファイル: citisenseCE.py プロジェクト: zhxy0091/ContextEngine
 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);
コード例 #2
0
ファイル: main.py プロジェクト: zhxy0091/ContextEngine
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);
コード例 #3
0
## 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))
コード例 #4
0
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])
コード例 #5
0
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;
コード例 #6
0
ファイル: sequential.py プロジェクト: zhxy0091/ContextEngine
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');