コード例 #1
0
ファイル: main.py プロジェクト: PierreGe/neural-network
def test():

    Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest = utils.readMoonFile()
    h = 200
    wd = 0.0001
    K = 200
    maxIter = 500

    # neuralNetwork = NeuralNetwork(len(Xtrain[0]), h, utils.getClassCount(ytrain), K=10, wd=wd)
    neuralNetworkEfficient = NeuralNetworkEfficient(
        len(Xtrain[0]), h, utils.getClassCount(ytrain), K, wd=wd)
    # neuralNetworkEfficient._w1 = neuralNetwork._w1
    # neuralNetworkEfficient._w2 = neuralNetwork._w2
    # neuralNetwork.train(Xtrain, ytrain, maxIter)
    # predTrain = neuralNetwork.computePredictions(Xtrain)
    # predValid = neuralNetwork.computePredictions(Xvalid)
    # predTest = neuralNetwork.computePredictions(Xtest)
    # trainEfficiency = utils.calculatePredictionsEfficiency(predTrain, ytrain)
    # validEfficiency = utils.calculatePredictionsEfficiency(predValid, yvalid)
    # testEfficiency = utils.calculatePredictionsEfficiency(predTest, ytest)
    # print( "Train Err: " + "{:.2f}".format(100 - trainEfficiency) + "%" \
    #         + " / Valid Err: " + "{:.2f}".format(100 - validEfficiency) + "%" \
    #         + " / Test Err: " + "{:.2f}".format(100 - testEfficiency) + "%")

    neuralNetworkEfficient.train(Xtrain, ytrain, maxIter)
    predTrain = neuralNetworkEfficient.computePredictions(Xtrain)
    predValid = neuralNetworkEfficient.computePredictions(Xvalid)
    predTest = neuralNetworkEfficient.computePredictions(Xtest)
    trainEfficiency = utils.calculatePredictionsEfficiency(predTrain, ytrain)
    validEfficiency = utils.calculatePredictionsEfficiency(predValid, yvalid)
    testEfficiency = utils.calculatePredictionsEfficiency(predTest, ytest)
    print( "Train Err: " + "{:.2f}".format(100 - trainEfficiency) + "%" \
            + " / Valid Err: " + "{:.2f}".format(100 - validEfficiency) + "%" \
            + " / Test Err: " + "{:.2f}".format(100 - testEfficiency) + "%")
コード例 #2
0
ファイル: main.py プロジェクト: PierreGe/neural-network
def exo1234():
    print("\n\n>>EXERCICE 1 et 2")
    sigma = 1e-4
    neuralNetwork = NeuralNetwork(2, 2, 2)
    Xtrain = [0.7, 0.7]
    ytrain = 1  # imaginons que c'est un point de la classe
    print("Liste des ratio W1, b1, W2, b2")
    res = verifGradient1d(neuralNetwork, Xtrain, ytrain)
    print(res)
    print(">Tout les ratio sont bien entre 0.99 et 1.01" if False not in
          [0.99 < i < 1.01
           for i in (np.array(res)).flatten()] else "Echec de la verif..")

    print("\n\n>>EXERCICE 3 et 4")
    Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest = utils.readMoonFile()
    neuralNetwork = NeuralNetwork(len(Xtrain[0]), 5,
                                  utils.getClassCount(ytrain))
    K = 10
    X = Xtrain[9]
    y = ytrain[9]

    print("Liste des ratio W1, b1, W2, b2")
    res = verifGradient1d(neuralNetwork, X, y)
    print(res)
    print(">Tout les ratio sont bien entre 0.99 et 1.01" if False not in
          [0.99 < i < 1.01
           for i in (np.array(res)).flatten()] else "Echec de la verif..")
コード例 #3
0
ファイル: main.py プロジェクト: PierreGe/neural-network
def test():

    Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest = utils.readMoonFile()
    h = 200
    wd = 0.0001
    K = 200
    maxIter = 500

    # neuralNetwork = NeuralNetwork(len(Xtrain[0]), h, utils.getClassCount(ytrain), K=10, wd=wd)
    neuralNetworkEfficient = NeuralNetworkEfficient(len(Xtrain[0]), h, utils.getClassCount(ytrain), K, wd=wd)
    # neuralNetworkEfficient._w1 = neuralNetwork._w1
    # neuralNetworkEfficient._w2 = neuralNetwork._w2
    # neuralNetwork.train(Xtrain, ytrain, maxIter)
    # predTrain = neuralNetwork.computePredictions(Xtrain)
    # predValid = neuralNetwork.computePredictions(Xvalid)
    # predTest = neuralNetwork.computePredictions(Xtest)
    # trainEfficiency = utils.calculatePredictionsEfficiency(predTrain, ytrain)
    # validEfficiency = utils.calculatePredictionsEfficiency(predValid, yvalid)
    # testEfficiency = utils.calculatePredictionsEfficiency(predTest, ytest)
    # print( "Train Err: " + "{:.2f}".format(100 - trainEfficiency) + "%" \
    #         + " / Valid Err: " + "{:.2f}".format(100 - validEfficiency) + "%" \
    #         + " / Test Err: " + "{:.2f}".format(100 - testEfficiency) + "%")


    neuralNetworkEfficient.train(Xtrain, ytrain, maxIter)
    predTrain = neuralNetworkEfficient.computePredictions(Xtrain)
    predValid = neuralNetworkEfficient.computePredictions(Xvalid)
    predTest = neuralNetworkEfficient.computePredictions(Xtest)
    trainEfficiency = utils.calculatePredictionsEfficiency(predTrain, ytrain)
    validEfficiency = utils.calculatePredictionsEfficiency(predValid, yvalid)
    testEfficiency = utils.calculatePredictionsEfficiency(predTest, ytest)
    print( "Train Err: " + "{:.2f}".format(100 - trainEfficiency) + "%" \
            + " / Valid Err: " + "{:.2f}".format(100 - validEfficiency) + "%" \
            + " / Test Err: " + "{:.2f}".format(100 - testEfficiency) + "%")
コード例 #4
0
ファイル: main.py プロジェクト: PierreGe/neural-network
def exo5():

    print("\n\n>>EXERCICE 5 Entrainement du reseau de neuronne + Variation des hyper-parametres")
    Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest = utils.readMoonFile()

    sample_h = [2, 20, 100]
    sample_wd = [0, 0.0001, 0.01]
    sample_maxIter = [2, 50, 200, 500]

    for h in sample_h:
        for wd in sample_wd:
            for maxIter in sample_maxIter:
                trainAndPrint(Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest, h, wd, maxIter)
コード例 #5
0
ファイル: main.py プロジェクト: PierreGe/neural-network
def exo5():

    print(
        "\n\n>>EXERCICE 5 Entrainement du reseau de neuronne + Variation des hyper-parametres"
    )
    Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest = utils.readMoonFile()

    sample_h = [2, 20, 100]
    sample_wd = [0, 0.0001, 0.01]
    sample_maxIter = [2, 50, 200, 500]

    for h in sample_h:
        for wd in sample_wd:
            for maxIter in sample_maxIter:
                trainAndPrint(Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest, h,
                              wd, maxIter)
コード例 #6
0
ファイル: main.py プロジェクト: PierreGe/neural-network
def exo1234():
    print("\n\n>>EXERCICE 1 et 2")
    sigma = 1e-4
    neuralNetwork = NeuralNetwork(2, 2, 2)
    Xtrain = [0.7, 0.7]
    ytrain = 1  # imaginons que c'est un point de la classe
    print("Liste des ratio W1, b1, W2, b2")
    res = verifGradient1d(neuralNetwork, Xtrain, ytrain)
    print(res)
    print(">Tout les ratio sont bien entre 0.99 et 1.01" if False not in [0.99 < i < 1.01 for i in (
        np.array(res)).flatten()] else "Echec de la verif..")

    print("\n\n>>EXERCICE 3 et 4")
    Xtrain, ytrain, Xvalid, yvalid, Xtest, ytest = utils.readMoonFile()
    neuralNetwork = NeuralNetwork(len(Xtrain[0]), 5, utils.getClassCount(ytrain))
    K = 10
    X = Xtrain[9]
    y = ytrain[9]

    print("Liste des ratio W1, b1, W2, b2")
    res = verifGradient1d(neuralNetwork, X, y)
    print(res)
    print(">Tout les ratio sont bien entre 0.99 et 1.01" if False not in [0.99 < i < 1.01 for i in (
    np.array(res)).flatten()] else "Echec de la verif..")