python深度神经网络量化,基于python的第一个深度神经网络-交通信号灯学习
序言:常言道,在实践中学习,在理论中提升。辗辗转转看了几本神经网络的书,磕磕绊绊地了解了一些概念,对于神经网络还是懵懵懂懂。在matlab里跑代码,纯调用库函数,真的是闭着眼睛开车。幸运的是,赶巧遇到了以下两本神作,对神经网络的本质算是一知半解。
Python神经网络编程,塔里克.拉希德著,人民邮电出版社出版。
深度学习图解,安德鲁.特拉斯克著,清华大学出版社出版。
对于神经网络来说,选择一个好的评估函数、训练函数、传递函数后,使用合适的大量的训练数据训练则成为关键。学习的关键在于调整网络的权值使误差最小。
看书至今,由于懒,代码不曾写过一行。今天是周日,桂林天寒地冻,山里风大。看到了《深度学习图解》的第6章,勾起了兴趣,瞧一瞧书本上的样例程序,照葫芦画瓢,越画越像。
抛去所有背景知识,直接上代码。在书本的范例基础上,引入了函数。模块化编程,简单就是美。
# streetlightlearning.py
# Create a backprogation network to learn a streetlights
# author: andrew W.Trask & Icefish
import numpy as np
weights = np.array([0.5, 0.48, -0.7])
alpha = 0.1
# define input as streetlights and output as walk_vs_stop
streetlights = np.array([[1, 0, 1],
[0, 1, 1],
[0, 0, 1],
[1, 1, 1],
[0, 1, 1],
[1, 0, 1]])
walk_vs_stop = np.array([[0],
[1],
[0],
[1],
[1],
[0]])
##input_data = streetlights[0]
##goal_prediction = walk_vs_stop[0]
##
##for iteration in range(1000):
## prediction = input_data.dot(weights)
## error = (goal_prediction - prediction)**2
## delta = prediction - goal_prediction
## weights = weights - (alpha*(input_data*delta))
## print("Error:"+str(error)+"Prediction:"+str(prediction))
# 训练函数,迭代次数可自定义
def train(iteration_times):
global weights
global streetlights
global walk_vs_stop
for iteration in range(iteration_times):
error_for_all_lights = 0
for row_index in range(len(walk_vs_stop)):
input_data = streetlights[row_index]
goal_prediction = walk_vs_stop[row_index]
prediction = input_data.dot(weights) # output of the network
error = (prediction - goal_prediction)**2
error_for_all_lights = error_for_all_lights + error
delta = prediction - goal_prediction
weights = weights - (alpha*(input_data*delta))
print("Prediction:"+str(prediction))
print("Error:"+str(error_for_all_lights)+"\n")
def sim(streetlights_input):
global weights;
return streetlights_input.dot(weights)
def main():
input_str = input("请输入网络训练迭代次数:")
iteration_times = int(input_str)
if iteration_times>0 :
train(iteration_times)
else:
print("迭代次数输入有误,程序终止!")
return
#训练完成,提示用户使用训练好的网络
while(True):
a,b,c = input("输入信号灯状态,用逗号,隔开:").split(',')
a = int(a)
b = int(b)
c = int(c)
input_data = np.array([a,b,c])
prediction = sim(input_data)
status = int(round(prediction,0))
print("Prediction:"+str(status)+"\n")
if status == 1:
print("walk now is safe.\n")
else:
print("stop,or walk to hell.\n")
if __name__ == '__main__':
main()
运行OK
python深度神经网络量化,基于python的第一个深度神经网络-交通信号灯学习相关推荐
- Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)
Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习.深度学习.大数据.云计算等)推荐系统(包括语音生成.识别等前沿黑科技) 导读 基于Python的GUI界面设计的一套 ...
- Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38%
Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38% 仅用 Python 和命令行就可以实现人脸识别的库开源了.该库使用 dlib 顶尖的深度学习人脸识别技术构建 ...
- Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)
Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...
- python人脸深度识别_基于Python的深度学习人脸识别方法
基于 Python 的深度学习人脸识别方法 薛同来 ; 赵冬晖 ; 张华方 ; 郭玉 ; 刘旭春 [期刊名称] <工业控制计算机> [年 ( 卷 ), 期] 2019(032)002 [摘 ...
- python回归算法_基于Python的函数回归算法验证
看机器学习看到了回归函数,看了一半看不下去了,看到能用方差进行函数回归,又手痒痒了,自己推公式写代码验证: 常见的最小二乘法是一阶函数回归 回归方法就是寻找方差的最小值 y = kx + b xi, ...
- 大学计算机基础python学多久_基于Python 的“大学计算机基础”课程教学设计
基于Python 的"大学计算机基础"课程教学设计 日期:2018-04-11 04:32 摘要 培养非计算机专业大学生的计算思维能力,在"大学计算机基础"课程 ...
- python 人像素描_基于python实现把图片转换成素描
这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没有选择自己的梦 ...
- python词频作图_基于Python的词频分析与云图生成
近期,学校对呼和浩特市第二中学学生特质进行了调查,具体题目为"用关键词描述一下二中学生的特质(尽量在20字以内)". 为了更好的展示调查结果,我们基于Python的jieba库和w ...
- 基于python的界面自动化测试-基于Python语言的自动化测试系统的设计与实现
黄建军+李宥谋+刘婧+周欢 摘 要: 通过分析现代工业生产对自动化测试系统的要求,提出一种基于面向对象的编程语言Python构建的自动化测试系统.利用Python语言的高效.灵活和简洁等特点,结合Py ...
最新文章
- underscore:get elements counts of a array
- 【Android】17.2 Activity与Local Service的绑定
- go get国内解决办法汇总
- 盘点几种数据库的分页SQL的写法(转)
- 算法取代了保释金:被抓能不能保释?先听系统怎么说
- java随机函数用法Random(转)
- Putty打开.pem加密的服务器
- Python简明教程之后应该学什么?
- 有了证件照大师 轻松在ps中做证件照
- 什么是数据可视化?hightopo数据可视化助力企业数字化
- Tableau怎么制作专业图表
- GetShell的姿势总结
- ubuntu16.04使用阿路比-LPMS-IG1进行ros数据发布
- 如何选择分析场景?2种指标梳理方式
- 跳跃游戏 (贪心/动态规划/dfs)
- Java降落伞_gta5降落伞怎么打开PS4
- 移动互联网时代 移动生活的碎片化解决方案
- xp无法访问win7计算机,手把手为你处理解决XP不能访问win7共享文件的方法
- 【入门-08】系统控制单元(SCU)
- 百度地图自定义标注样式
热门文章
- IT服务如何产品化?
- PHP通用函数:判断字符串是否是手机号码
- 直播时代:对直播平台和主播的监管更严格
- TensorFlow 制作自己的TFRecord数据集
- python12306爬虫_【Python3爬虫】最新的12306爬虫
- 将oracle中数据转化为汉字,将Oracle数据库中的“数字”对应成“汉字”
- BLE广播信道的防冲突与跳频数据信道的选择
- Java Servlet 非英文乱码
- PAT 乙级 1032 挖掘机技术哪家强 (20分)
- 2022焊工(初级)考试题目及答案