Почему мой код отлаживается без завершения? - PullRequest
1 голос
/ 24 февраля 2020
import numpy as np
import matplotlib as plt
import random

"""
def func(data):   #labels our train data
    train_labels = []
    i = 1
    for pt in data:
        if pt[0] > pt[1]:
            train_labels.append(1)
        else:
            train_labels.append(-1)

    return train_labels
        #print("{}. Punkt = {}".format(i, x))
        #i += 1
"""

def activation(input):
    if input >= 0:
        return 1
    else:
        return -1


class Model:

    def __init__(self, nweights=1):
        self.nweights = nweights

    def setweights(self):
        self.weights = np.random.uniform(low=-1, high=1, size=(self.nweights, 1))
        return self.weights

    def guess(self, input):
        sum = 0;
        i = 0;
        while i < len(self.weights):
            sum += input[i] * self.weights[i]
        return func(sum)

train_data = np.random.randint(100, size=(1, 2))

brain = Model(1)
brain.setweights()
brain.guess(train_data)

Привет, у меня небольшая проблема с моим кодом, так как он только загружается, но я не получаю никаких результатов. Таким образом, он начинает отладку, но я не получаю никаких ошибок или результатов, он просто отлаживается без завершения. Проблема не может быть возвращена к каким-либо аппаратным проблемам, поэтому она должна иметь какое-то отношение к моему коду. Спасибо за вашу помощь!

1 Ответ

1 голос
/ 24 февраля 2020

Ваша guess функция застревает в бесконечном l oop, так как вы никогда не увеличиваете i.

def guess(self, input):
    sum = 0
    i = 0
    for i in range(len(self.weights)):
        sum += input[i] * self.weights[i]
    return func(sum)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...