「ゼロから作る Deep Learning」(斎藤康毅/オライリー・ジャパン)> 「第2章 パーセプトロン」を参考に、以下の通り、じぶんなりにクラスを書いてみました。エラーになってしまうのは、なぜか...どうぞ、間違いを、ご指摘くださいませ。
(1)AnacondaでJupyter Notebookを起動
(2) Notebookを起動後、画面上の最初のセルに以下を入力し、実行。
python
1 2import numpy as np 3 4class Logic_gate: 5 def __init__(self,x1,x2): 6 self.x1=self 7 self.x2=self 8 9 def AND(self): 10 x=np.array([self.x1,self.x2]) 11 w=np.array([0.5,0.5]) 12 b=-0.5 13 y=np.sum(x*w)+b 14 if y<=0: 15 return 0 16 else: 17 return 1 18 19 def NAND(self): 20 x=np.array([self.x1,self.x2]) 21 w=np.array([-0.6,-0.6]) 22 b=0.8 23 y=np.sum(x*w)+b 24 if y<=0: 25 return 0 26 else: 27 return 1 28 29 def OR(self): 30 x=np.array([self.x1,self.x2]) 31 w=np.array([0.5,0.5]) 32 b=-0.3 33 y=np.sum(x*w)+b 34 if y<=0: 35 return 0 36 else: 37 return 1 38 39 def XOR(self): 40 m=NAND(self.x1,self.x2) 41 n=OR(self.x1, self.x2) 42 return AND(m,n) 43
(3)上記のセルを実行後、次のセルを入力し、実行しました。
result=Logic_gate(0,0) result.AND ()
(4)エラーメッセジーは以下の通りです。
TypeError Traceback (most recent call last)
<ipython-input-4-65afc1bbabe7> in <module>
----> 1 result.AND ()
<ipython-input-2-1e1d8705b0ba> in AND(self)
8 w=np.array([0.5,0.5])
9 b=-0.5
---> 10 y=np.sum(x*w)+b
11 if y<=0:
12 return 0
TypeError: unsupported operand type(s) for *: 'Logic_gate' and 'float'
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。