2016013201

来自iCenter Wiki
2017年7月2日 (日) 18:59Max16讨论 | 贡献的版本

跳转至: 导航搜索

2017年6月29日

  • 安装并配置python
  • 安装并试用TensorFlow


配置过程中出现的最大问题是找不到Python,因为Python2都是直接安装在根目录下的,而Python3却安装在c盘的Users文件夹下,找到它费了很大劲,不过一边找也一边重新熟悉了cmd的一些基础操作,算是一点额外的收获。

2017年6月30日

  • 配置PYNQ板
  • 阅读Python示例代码
  • 完成教程实验pAudio_playback

配置PYNQ板时需要先设置本机IP,这一步很容易,但有一点很关键,就是ip的第三段必须要设为2,这样才能够正确识别,另外也要注意PYNQ不支持IE和edge浏览器,推荐使用chrome。

今天的主要困难是由于不熟悉xilinx的操作,在结束进程的时候直接把PYNQ的开关关掉了,或许是这个原因,导致PYNQ的sd卡中的文件部分损坏了,包括教程要用的pAudio_playback,使得我们不得不手工输入代码。当然这在客观上也让我们有机会更加细致地了解代码。通过研究代码,发现了一个很关键的滤波函数,它将样本采样率从3Mhz降低到32khz,几乎降了100倍,使得PYNQ能够从容应付数据的处理,也提高了效率。进行的处理主要是傅里叶变换,这是图像和音频处理最常用的手段,Python通过fft函数就能很容易实现。

2017年7月1日

  • 完成教程实验usb_webcam
  • 完成教程实验opencv_filter_webcam
  • 熟悉PIL库
  • 了解cv2库


今天上午的两个实验吸取昨天的经验,依旧采用一段一段手输的方法,并且每输入一个Cell就运行它,这样虽然感觉上进度比较慢,但是能够学到很多东西。通过第一个实验usb_webcam了解到了PIL库,这是Python常用的图像处理库,功能也很强大,几行代码就能做到裁剪、旋转、颜色转换等。第二个实验是opencv_filter_webcam,顾名思义,肯定要用到opencv的东西。这是一个跨平台的计算机视觉库,功能也很强大,今天主要用到了它的实时图像处理的模块,对摄像头获取的图像进行线条化,然后在通过HDMI连接的显示器上进行实时输出。以上两个实验都是在PYNQ板上进行主要计算的。


  • 完成实验tfExample


由于下午有事,所以没有赶上上课,晚上抽空又去实验室把落下的任务补上了。任务很简单,从gitlab上下载一个压缩包,然后通过命令行打两句命令运行一个TensorFlow的程序,基本上就完成了,难就难在环境总是残缺不全,大部分时间还是都花在环境的配置上了,也许这就是这门课程的挑战性所在。首先用工作站运行,发现工作站连Python都没有(那时候还不知道任杰已经在上面装了anaconda,当然也不知道anaconda是Python的一个很强大的发行版),然后就先找Python,找到了Python,安装的时候又失败了,具体的原因忘记了,反正总是不行。然后想到反正也不用连板子,我自己的笔记本上也装了Python和TensorFlow,何不在它上面试试呢。可是试了一下又出现另外的问题,我的Python缺了两个很关键的库,一个是PIL,另外一个是SciPy,发现问题就要解决问题,我就开始在网上找这两个库。PIL一开始没有找到对应版本的,后来通过Pillow解决了,SciPy真的是一块硬骨头。一开始装的时候总是fail,发现好像缺了它依赖的numpy,装了之后还是不行。上网又搜了一下看到有人推荐用anaconda,可以一劳永逸解决这些乱七八糟的库的问题,然后才终于想起来工作站的桌面上好像是有一个anaconda,才意识到为什么工作站上没有Python任杰也没说啥了,因为他用了anaconda。在工作站上用anaconda跑了那两条命令,很顺利就出来了,但是最后打开那个网页上的Embedding页面的时候速度奇慢,这个时候动了第三次换机器的主意。当然也不是换,算是一边等结果一边解决笔记本的问题。然后就是继续搜SciPy,终于找到了一个解决方法,就是把numpy卸载了,重新装一个numpy+mkl,装上之后就能装SciPy了。通过这个还掌握了pip卸载软件的语法,就是把install换成uninstall。不得不说pip真是好用,既能直接输口令让它自己找,一些比较麻烦的还能下载下来原地通过安装包安装。都装好之后运行了那个程序,一切正常,除了那个embedding获取数据同样奇慢无比。不过这个无关紧要,今天的任务就基本完成了。