如何修复:(ipython)类名称定义和名称错误:名称未定义

问题描述 投票:0回答:1

我正在尝试建立可以识别数字(0〜9)的数字网络

但是由于某些错误,它不起作用。

所以我该怎么办?

当我尝试建立该代码时,出现此错误消息。

---------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-3-bdb6f33f1c38> in <module>
      5 get_ipython().run_line_magic('matplotlib', 'inline')
      6 
----> 7 class neuralNetwork:
      8     def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
      9         self.inodes = inputnodes

<ipython-input-3-bdb6f33f1c38> in neuralNetwork()
     56     learing_rate = 0.1
     57 
---> 58     n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)
     59 
     60     training_data_file = open("C:/ProgramData/Anaconda3/pkgs/notebook-6.0.0-py37_0/Lib/site-packages/notebook/mnist/mnist_trian.csv", 'r')

NameError: name 'neuralNetwork' is not defined
import numpy
import scipy.special
import matplotlib.pyplot

%matplotlib inline

class neuralNetwork:
    def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
        self.inodes = inputnodes
        self.hnodes = hiddennodes
        self.onodes = outputnodes
        self.lr =learningrate
 ----


    n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)

    training_data_file = open("C:/ProgramData/Anaconda3/pkgs/notebook-6.0.0-py37_0/Lib/site-packages/notebook/mnist/mnist_trian.csv", 'r')
    training_data_list = training_data_file.readlines()
    traning_data_file.close()

    epochs = 5

    for e in range(epochs):
        for record in training_data_list:
            all_values = record.split(',')
            inputs - (numpy.asfarray(all_values[1:])/255.0 * 0.99) + 0.01
            targets = numpy.zeros(output_nodes)+0.01
            targets[int(all_values[0])] = 0.99
            n.train(inputs, targets)
            pass
        pass

-----
python ipython nameerror
1个回答
0
投票

您正在尝试初始化神经网络内部该类。确保缩进正确,并确保使用正确的值初始化类(因此不要简单地复制参数名称)

© www.soinside.com 2019 - 2024. All rights reserved.