24小时热门版块排行榜    

查看: 1768  |  回复: 6

蓝谙

至尊木虫 (职业作家)

[求助] Python定义函数时显示syntax error

def train(self,labels,iteration,rate,input_vecs):
        for i in range(iteration):
            self._one_iteration(input_vecs,labels,rate)  
上述代码的第一行显示有错:
runfile('D:/Data_Rabbit/code/myself/DL/Perceptron.py', wdir='D:/Data_Rabbit/code/myself/DL')
  File "D:/Data_Rabbit/code/myself/DL/Perceptron.py", line 19
    def train(self,labels,iteration,rate,input_vecs):
      ^
SyntaxError: invalid syntax

找了半天,实在看不出来哪里错了,恳请大家指点一下!

下面是全部代码:
from functools import reduce
import numpy as np

class Perceptron(object):
    def __init__(self,input_num,activator):
        self.input_num=input_num
        self.activator=activator
        self.weights=np.zeros(input_num)
        self.bias=0.0
        
    def __str__(self):
        return('weights:\t%f\nbias:\t%f')%self.weights,self.bias
        
    def predict(self,input_vec):
        return self.activator(
                sum(np.array(self.weights)*np.array(input_vec)+self.bias
                )
               

    def train(self,labels,iteration,rate,input_vecs):
        for i in range(iteration):
            self._one_iteration(input_vecs,labels,rate)   
            
    def _one_iteration(self,input_vecs,labels,rate):
        samples=zip(input_vecs,labels)
        for (input_vec,label) in samples:
            self._update_weight(input_vec,label,rate)
            
    def _update_weight(self,input_vec,label,rate):
        output=self.predict(input_vec)
        delta=label-output
        self.weights=self.weights+rate*delta*input_vec
        self.weights=lambda w,x: w+rate*delta*x,zip(
                self.weights,input_vec
                )
        self.bias+=rate*delta
        
def f(x):
    if x>0:
        return (1)
    else:
        return (0)
p=Perceptron(2,f)
input_vecs=np.array([[0,0],[0,1],[1,0],[1,1]])
labels=[0,0,0,1]
p.train(labels,10,0.1,input_vecs)

print(p.weights)
print(p.predict([0,0]))
print(p.predict([0,1]))
print(p.predict([1,0]))
print(p.predict([1,1]))
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

那-年

捐助贵宾 (正式写手)


jjdg: 金币+1, 感谢参与 2018-09-23 16:03:30
predict函数return部分少个括号

发自小木虫Android客户端
2楼2018-09-22 09:33:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhenter

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 那-年 at 2018-09-22 09:33:33
predict函数return部分少个括号

火眼金睛

发自小木虫IOS客户端
3楼2018-09-22 19:54:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

蓝谙

至尊木虫 (职业作家)

引用回帖:
2楼: Originally posted by 那-年 at 2018-09-22 09:33:33
predict函数return部分少个括号

谢谢

发自小木虫IOS客户端
4楼2018-09-22 20:23:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

那-年

捐助贵宾 (正式写手)

引用回帖:
3楼: Originally posted by zhenter at 2018-09-22 19:54:49
火眼金睛
...

代码写多了就好了

发自小木虫Android客户端
5楼2018-09-23 02:15:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

那-年

捐助贵宾 (正式写手)

引用回帖:
4楼: Originally posted by 蓝谙 at 2018-09-22 20:23:43
谢谢
...

这种错误就不要拿出来问了,自己翻来覆去的看,多写写就好了

发自小木虫Android客户端
6楼2018-09-23 02:16:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

蓝谙

至尊木虫 (职业作家)

引用回帖:
6楼: Originally posted by 那-年 at 2018-09-23 02:16:26
这种错误就不要拿出来问了,自己翻来覆去的看,多写写就好了
...

说实话我找了很久都没发现……看来还是火候不行
7楼2018-09-23 17:19:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 蓝谙 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:27 by oEVWOejN9taj
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 qTvzQBRAHjCi 2026-08-07 5/250 2026-08-08 16:47 by oEVWOejN9taj
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 16:47 by oEVWOejN9taj
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 5/250 2026-08-08 15:59 by oEVWOejN9taj
[论文投稿] 十年后又回来了,论文投稿求助 +5 哈哈114477 2026-08-01 5/250 2026-08-08 15:14 by 仁砚薪传
[论文投稿] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 6/300 2026-08-08 15:07 by oEVWOejN9taj
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:42 by oEVWOejN9taj
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:27 by oEVWOejN9taj
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 KXLV3nuBVBY7 2026-08-07 6/300 2026-08-08 14:01 by oEVWOejN9taj
[基金申请] 关于代码变化问题,想知道的进来 +11 且听虎啸 2026-08-07 14/700 2026-08-08 12:50 by 布布和一二
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
信息提示
请填处理意见