查看“2016012136”的源代码
←
2016012136
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只对以下1个用户组开放:
用户
。
您可以查看并复制此页面的源代码:
=2017年6月29日= 今天的主要内容是熟悉了挑战项目的具体安排,对我们要做什么有了大体的了解。在电脑上安装了python程序,python是一门语言,有很多的编译环境,这次挑战需要用到一个比较强的编译环境anaconda,其中的函数包比较多,使用起来方便。之后用command配置了tensorflow软件,tensorflow分为CPU only 以及GPU版本,GPU版本要强大一下,但是由于笔记本的硬件所限,就在笔记本上安装了CPU only班的tensorflow。 今天开始学习python语言,从网站上下载了比较经典的python教材《python基础教程》,看了一部分之后,我感到python的工作原理与c有着一些不同,2.0版本的python和3.0版本的python有一定的不同,例如print在3.0里面是函数,打印的是变量,而2.0中print是语句,不是函数,所以打印的内容不需要加括号。和之前学过的C语言比较,python的函数有很大的不同,完成同样的工作,python需要的代码量少得多,当然对于一些非常基本的功能是车不多的。之前也听说,天体物理方向的数据处理是用python写的,因为python中又很多的函数包,直接调用比编写要方便,在这里也得到了很充分的体现,tensorflow就包装了对tensor进行运算的很多函数,调用比较简单。 =2017年6月30日= ==操作内容== 完成了python和tensorflow的安装与调试。pynk板的调试需要一定的经验,我也遇到了一定的困难,首先问题出在储存卡上,储存卡是旧的可能已经损坏了,所以pynk板不能启动;之后的问题出在供电上,笔记本的电源功率比较小,由CPU和显卡分走了大部分电压之后可能就带不起来pynk了,所以增大供电电压之后就可以正常启动了。 安装好了pynk板,进行了简单的实验,使用jupyter对pynk板进行编程操作。在jupyter上用python操作比较简洁,代码少就能完成比价复杂的任务,比C语言要简单得多。 ==学习内容== 陈老师讲述了ICenter wiki的使用方法,在ICenter Wiki上进行内容编写,以及计算机工作方式与课程的相关知识。 章老师讲述了gitlab的优势以及使用方法 听了老师的介绍之后,我对计算机的相关知识产生了一定的兴趣,之前了解较少,就在网上查阅了相关资料,打算在最近读《编码——藏匿在计算机硬件背后的语言》这本入门书籍。 =2017年7月1日= ==操作内容== 今天也遇到了一定的困难,pynk的登录对浏览器内核有要求,只有谷歌的内核支持比较好,所以用其他浏览器虽然可以但是稳定性可能比较差。 完成了pynk板的调试,将pynk的HDMI输出接口与显示器相连,使用opencv webcam拍摄,并将照片的基本设置进行更改,对象片进行处理。旋转,将图片转为灰度图,对图片信息进行计算,处理为黑白线条,并在显示器上输出。 从这几个例子中了解了一定的python代码处理,python可以用简单的代码启动设备,初始化HDMI输入输出接口,初始化摄像头并拍照,用HDMI输出就可以显示,然后在pynk板进行一些列的计算,进行Edge detect 并转化为线条画,在显示器上输出结果。 整体的过程难度没有想象中那么大,虽然不是很多python代码,但是能够勉强理解其中一些程序段的含义。 [[File:pynk output 1.png|caption]|border[300px]] [[File:pynk output 2.png|caption]|border[300px]][[File:opencv webcam output.png|caption]|border[300px]] 还用cmd执行了tfExample文件,进行了简单的操作,在tensorbroad上显示出了最终结果,一个十维向量在三维的表示。 我认为,参与挑战的一些限制是在计算机基础知识和计算机的基本操作上面,例如对计算机硬件的不熟悉,例如显卡等,对计算机常用的命令行操作不熟悉,对其中的快捷键和常用命令不熟悉。所以,在平时就应该多进行学习,这些都还是很基础的计算机常识。 ==学习内容== 了解了usb webcam的工作原理,进一步讲解了pynk的优点,pynk内部的硬件是可以编程的,编写新的功能就可以完成新的功能,可扩展性非常强,在未来的会发挥很大的作用。 学习了使用tensorflow来训练系统,识别简单的图片,由老师讲解了其中核心的代码,读取出图片的信息,制作成28*28的矩阵,在进行运算将其变为一个数,从图片数据库中随机抽取4长,进行机器学习,给予机器反馈结果,通过十轮学习,达到识别图片的目的。 =2017年7月2日= ==操作内容== 语音识别。 安装keras,从gitlab上下载数据,进行运算。为了从有限的数据中获取更好的训练结果,增强对噪音的识别能力,可以通过sound exchange进行增加噪音,这样一方面获取了更多的数据,另一方面还可以增强对噪音的识别能力,在嘈杂的环境中也可以进行很好的识别。程序在运行时遇到的主要问题是需要安装cudnn,对gpu进行加速,否则程序会运行失败,尝试安装cudnn,因为计算机中没有vs,所以导致一个组件安装失败,cudnn就整体安装失败,在取消vs组件的安装勾选之后,安装成功。 遇到的一个问题是,gpu版本的tensorflow必须要安装cudnn库和cuda软件对gpu进行加速,配套的是cuda的版本8.0和cudnn的5.1版本,但是提供的cudnn版本是6.0,系统不支持,所以从网上下载了cudnn5.1版本之后,放在NVIDDIA/CUDAv8.0/bin目录下就可以运行了。 最后遇到的问题是代码不一致,如果掌握python语言就很容易理解要做什么,老师提供的程序是使用过的,所以不需要太多修改,直接执行即可,所以就是在命令行中用python执行写好的程序即可,即../python name.py,与提供的代码稍有不同,所以掌握语法,理解真正要做什么,要执行什么非常的重要,就能根据要做的事情来调整。 在服务器上用的是5930k的cpu,titan X的显卡,所以用gpu版本的tensorflow执行是非常快的,大概运行速度是tensorflow CPU only的三倍以上,这样就节省了很多时间。大概执行完5个epoch之后正确率在0.7左右,还不够高,希望运行十五轮之后能够达到0.9以上。 ==学习内容== 在教材上的第一章和第二章,介绍了深度学习原理,激活函数,人工神经网络的建立,用损失函数来量化输出结果和实际结果之间的差距,常用调节权重的方法随机梯度下降法,深度学习中的常用术语,自编码器初始化权重可以使得训练进程加速。 典型神经网络:卷积神经网络,常用于图像识别,因为卷积神经网络具有一定的空间不变形,图像平移旋转之后仍能对图像进行识别。 循环神经网络,常用于时间序列的识别,如语音识别,但是由于训练时间过长等问题有局限性,所以直接的应用并不多。 LSTM神经网络。是比较常见的改进循环神经网络的例子,大大缩短了训练时间,很好地实现了语音识别这样的功能。 谷歌的CLDNN网络,是一种混合的神经网络,相比前几种神经网络,在可靠性和识别的准确度上有非常大的提升,实际应用效果比较好。 CTC模型,讲以上的LSTM神经网络简化,扩展了语音识别的应用,降低了语音识别训练材料的制作成本。 学习了关于keras的相关知识,是tensorflow的一个函数库,使用起来会比直接使用tensorflow简洁。 深度学习不仅要能够对数据有很好的拟合,还要防止过好的拟合,因为训练用的数据是有限的,对实验数据拟合的过好之后,可能对真实数据拟合的不好,原因可能是:数据量太小,不够具有一般性,或者训练用数据的特性与使用时的数据特性不同。
返回
2016012136
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
实践教学
个性化3D设计与实现
人工智能实践教学
区块链技术及应用
虚拟现实技术与内容制作
超越学科界限的认知基础课程
电子工艺实习
Nand2Tetris Engine Curriculum
TULLL Creative Learning Group
Wiki上手说明
Wiki账户创建
最近更改
工具
链入页面
相关更改
特殊页面
页面信息