24小时热门版块排行榜    

查看: 1767  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 蓝谙 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 十年后又回来了,论文投稿求助 +5 哈哈114477 2026-08-01 5/250 2026-08-08 15:14 by 仁砚薪传
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:47 by oEVWOejN9taj
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:39 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 KXLV3nuBVBY7 2026-08-07 6/300 2026-08-08 14:01 by oEVWOejN9taj
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] 关于豆爷回答的JTJC与%2F数量 +4 yang182083 2026-08-06 6/300 2026-08-07 12:43 by 虫友是什么虫
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +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
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见