创建类对象时出现类型错误

一个人

我正在研究神经网络。当我使用从里面的函数NNetwork里面NNetwork,它提出:

Traceback (most recent call last):
  File "C:\Python27\MyPython\MyNeuralNetwork.py", line 72, in <module>
    NeuralNet.train([[3,5,2],[10,8,1],[35,3,6],[345,3,32]])
  File "C:\Python27\MyPython\MyNeuralNetwork.py", line 67, in train
    self.train331()
  File "C:\Python27\MyPython\MyNeuralNetwork.py", line 44, in train331
    x1 = self.UseNN(N1,x)
TypeError: UseNN() takes exactly 1 argument (3 given)

我的代码是:

import math, time

class Neuron():
    def __init__(self,weight,thresh, alpha=.1):
        self.thresh = thresh
        self.weight = weight
        self.alpha = alpha
    def use(self,Input):
        x = Input[0]*self.weight
        y = Input[1]*self.weight;
        z = Input[2]*self.weight;
        return[(x+y+z)]

    def adjustWeight(subtract = False):
        if subtract == False: self.weight += alpha
        else: self.weight -= alpha

class NNetwork():
     def __init__(self,alpha = .1):
         self.alpha = alpha
     def UseNN((NN,InputList)):
         x = NN.use(InputList)
         if x[0] > x[1]: return x[0]
         else: return 0
     def train331(self):
         #Creates the Neurons, assigning the weights, threshholds, and alpha
         N1 = Neuron(3,7,.1)
         N2 = Neuron(7,3,.1)
         N3 = Neuron(3,9,.1)
         #NextLevel
         N4 = Neuron(-6,0,.1)
         N5 = Neuron(10,4,.1)
         N6 = Neuron(1,6,.1)
         #OutputLevel
         O1 = Neuron(0,0,.1)
        am = 1
        for amount in self.trainset:

            #It runs each neuron through an algorithm, 
            #then collects each result into a list
            x = self.trainset[am]
            print  "First layer: ",x
            x1 = self.UseNN(N1,x)
            x2 = self.UseNN(N2,x)
            x3 = self.UseNN(N3,x)

            y = [x1, x2, x3]
            print "Second layer: ",y
            y1 = self.UseNN(N4,y)
            y2 = self.UseNN(N5,y)
            y3 = self.UseNN(N6,y)

            z = [y1,y2,y3]

            z1 = self.UseNN(O1,z)
            am += 1
        print "Output layer: ",z1

    def train(self,trainingSet,epochs=100):

        self.epochs = epochs
        self.trainset = trainingSet
        self.train331()



NeuralNet = NNetwork()
NeuralNet.train([[3,5,2],[10,8,1],[35,3,6],[345,3,32]])

需要更改什么?

人工智能

一个问题是您忘记在中添加self第一个参数UseNN

这里的另一个问题是圆括号(NN, InputList),使函数期望一个参数,即元组。

获得您想要的东西的正确方法是:

def UseNN(self, NN,InputList):

这将解决它。另外,您应该避免使用CamelCase函数和变量。通常用于类,以区分它们。

希望能帮助到你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在类内部创建类的对象时出现Scala StackOverflow错误

从包创建类的新对象时出现错误

创建类时是否调用 Java 构造函数?未创建对象时出现“构造函数不能应用于给定类型”错误

尝试查找文件位置时,出现此错误(需要错误记录、对象或类类型)

为Win32_OperatingSystem类创建新对象时出现“无效类”错误

在Django中创建用户时出现以下错误:类型对象“用户”没有属性“对象”

创建 netcdf 文件时出现类型错误

在类中创建函数时出现错误

创建类实例时出现MSMQQueueManagement错误

遍历枚举元素创建新对象时出现不兼容类型错误

TypeScript。使用传播算子创建新对象时出现类型错误

从整数类型创建列表时出现类型错误

创建 TypeScript 类时出现“标识符预期”错误和“不可分配给类型编号”错误

在 Haskell 中创建类型类,但出现“歧义发生”错误

在SQLAlchemy中创建子对象时出现无法排序的类型

实现Eq类型类时出现Scala Cats错误

使用python数据类时出现类型错误

返回通用类类型时出现Java编译错误

从类引用typedef时出现“未命名类型”错误

创建具有泛型值的列表时出现错误“表达式必须具有类类型”

映射可观察对象时出现 Angular/RxJS 类型错误

实例化通用对象时出现类型错误

使用 iloc 创建虚拟变量时出现类型错误

尝试创建类型时出现 Postgresql 语法错误

创建新用户时出现类型错误

创建VBA阵列时出现类型不匹配错误

动态创建ui DateTimePicker时出现未捕获的类型错误

尝试创建 Pandas 系列时出现类型错误

创建具有强参数的记录时出现类型错误