【问题标题】:Why is my code debugging without finishing?为什么我的代码调试没有完成?
【发布时间】:2020-06-08 09:35:00
【问题描述】:
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)

你好, 我的代码有一点问题,因为它只是在加载,但我没有得到任何结果。所以它开始调试,但我没有得到任何错误或结果,它只是调试而没有完成。这个问题不能归结为任何硬件问题,所以它一定和我的代码有关。感谢您的帮助!

【问题讨论】:

  • 您不会在 while i &lt; ... 循环中增加 i`,因此它会陷入无限循环。

标签: python arrays numpy debugging neural-network


【解决方案1】:

您的guess 函数陷入无限循环,因为您从未增加 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2013-10-11
    • 2015-06-07
    • 2012-04-04
    • 2019-05-14
    相关资源
    最近更新 更多