python中与或非异或_Python实现感知器的逻辑电路(与门、与非门、或门、异或门)...

本文通过Python实现了一层感知器来完成与门、与非门、或门的逻辑运算,并使用pytest进行测试。同时,通过两层感知器实现非线性可分的异或门。代码简洁,易于理解,有助于深入理解感知器的工作原理。
摘要由CSDN通过智能技术生成

在神经网络入门回顾(感知器、多层感知器)中整理了关于感知器和多层感知器的理论,这里实现关于与门、与非门、或门、异或门的代码,以便对感知器有更好的感觉。

此外,我们使用 pytest 框架进行测试。

pip install pytest

与门、与非门、或门

通过一层感知器就可以实现与门、与非门、或门。

先写测试代码 test_perception.py:

1 from perception importand_operate, nand_operate, or_operate2

3

4 deftest_and_operate():5 """

6 测试与门7 :return:8 """

9 assert and_operate(1, 1) == 1

10 assert and_operate(1, 0) ==011 assert and_operate(0, 1) ==012 assert and_operate(0, 0) ==013

14

15 deftest_nand_operate():16 """

17 测试与非门18 :return:19 """

20 assert nand_operate(1, 1) ==021 assert nand_operate(1, 0) == 1

22 assert nand_operate(0, 1) == 1

23 assert nand_operate(0, 0) == 1

24

25

26 deftest_or_operate():27 """

28 测试或门29 :return:30 """

31 assert or_operate(1, 1) == 1

32 assert or_operate(1, 0) == 1

33 assert or_operate(0, 1) == 1

34 assert or_operate(0, 0) == 0

写完测试代码,后面直接输入命令  pytest -v  即可测试代码。

这三个门的权重和偏置是根据人的直觉或者画图得到的,并且不是唯一的。以下是简单的实现,在 perception.py 中写上:

1 importnumpy as np2

3

4 defstep_fu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值