alpha = 1.0

Cs = 2.0**numpy.arange(-10, 14, 2, dtype=numpy.float)
gammas = 2.0**numpy.arange(-10, 4, 2, dtype=numpy.float)
epsilons = numpy.array([2**-2])

paramDict = {} 
paramDict["setC"] = Cs 
paramDict["setGamma"] = gammas
paramDict["setEpsilon"] = epsilons

sampleMethod = Sampling.crossValidation
numProcesses = multiprocessing.cpu_count()

j = 0 
trainX, trainY, testX, testY = ModelSelectUtils.loadRegressDataset(dataDir, datasetName, j)
learner = LibSVM(kernel='gaussian', type="Epsilon_SVR", processes=numProcesses) 


for sampleSize in sampleSizes: 
    print("Sample size " +str(sampleSize))
    trainInds = numpy.random.permutation(trainX.shape[0])[0:sampleSize]
    validX = trainX[trainInds,:]
    validY = trainY[trainInds]
        
    #errors = learner.parallelPenaltyGrid(validX, validY, testX, testY, paramDict, computeTestError)
    #errors = numpy.squeeze(errors)
    
    errors = numpy.zeros((Cs.shape[0], gammas.shape[0]))
    norms = numpy.zeros((Cs.shape[0], gammas.shape[0]))