查看: 1901|回复: 0

香蕉派BPI-M2Z安装TensorFlow并加载鸢尾花卉数据集绘图

[复制链接]
  • TA的每日心情
    奋斗
    2021-6-9 11:33
  • 签到天数: 460 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-6-22 08:42:18 | 显示全部楼层 |阅读模式
    分享到:
    大家好,很高兴又见面了,首先还是要感谢爱板网提供的这个试用的板子。
    本次分享的是在香蕉派BPI-M2Z安装TensorFlow并加载鸢尾花卉数据集,我将演示如何用python自带的csv模块读取数据并转化为tensorflow可以处理的类型,最后我们用matplotlib把数据画出来。
    一、Tensorflow的安装
    推荐使用这个链接:https://github.com/samjabrahams/tensorflow-on-raspberry-pi,内容非常详细。
    注意,这里有两个可用版本,一个是针对python2.7的,而另一个是针对3.4的。由于我们的系统使用的是python2.7+python3.5,在3.5上安装这个3.4的tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl会报错,所以我们使用2.7版本。

    首先做一下准备工作:
    sudo apt-get updatesudo apt-get install python-pip python-dev然后按照README文档一步一步走:wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whlsudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whlsudo pip uninstall mocksudo pip install mock这样Tensorflow就安装好啦,然后我们尝试安装matplotlib,不要使用pip,会有很多依赖要自己解决,这里我们用这个:apt install python-matplotlib这样matplotlib也安装完毕了,如果使用pip安装时遇到下述问题,请尝试用这个方法来解决:
    Traceback (most recent call last):  File "/usr/bin/pip", line 9, in <module><module>"ImportError: cannot import name mainroot@bananapim2zero:~# python -m pip uninstall piproot@bananapim2zero:~# apt install python-pip --reinstall</module>然后我们需要导入鸢尾花卉数据集,这里使用用于测试的CSV文件,需要使用CSV模块,python自带的,所以不用去安装,直接import进来。
    让我们尝试在python2.7里导入这三个模块,如下图。

    三个模块均导入成功,下一步我们进入VNC实际操作一波,把图像画出来,VNC的使用,请参考我的上一篇经验:
    香蕉派BPI-M2Z刷基于Ubuntu16.04的Armbian桌面系统
    然后是python程序的编写,直接放代码啦:
    #Litthins 2018年6月19日#import csvimport numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltfrom itertools import islice#读取iris_test.csv文件iris_data=csv.reader(open('./iris_test.csv','r'))print(iris_data)#创建用于存放数据的数组sepal_len=[]sepal_wid=[]petal_len=[]petal_wid=[]#遍历文件内容,将我们需要的数据转化为需要的格式for sample in islice(iris_data,1,None):    sepal_len.append(eval(sample[0]))    sepal_wid.append(eval(sample[1]))    petal_len.append(eval(sample[2]))    petal_wid.append(eval(sample[3]))print(sepal_len)print(sepal_wid)print(petal_len)print(petal_wid)#创建二维列表sepal_data=[sepal_wid,sepal_len]petal_data=[petal_wid,petal_len]print(sepal_data)print(petal_data)#将python的list类转换为numpy的array类,再转换为tensorflow的张量#输出sepal_out和petal_out是我们需要的变量sess=tf.Session()sepal_out=sess.run(tf.convert_to_tensor(np.array(sepal_data)))sepal_wid_tf,sepal_len_tf=sepal_outpetal_out=sess.run(tf.convert_to_tensor(np.array(petal_data)))petal_wid_tf,petal_len_tf=petal_outprint(sepal_wid_tf)print(sepal_len_tf)print(petal_wid_tf)print(petal_len_tf)#调用matplotlib绘图plt.subplot(1,2,1)plt.scatter(sepal_wid_tf,sepal_len_tf)plt.title("sepal_tf")plt.xlabel("sepal_wid_tf")plt.ylabel("sepal_len_tf")plt.grid(True)plt.subplot(1,2,2)plt.scatter(petal_wid_tf,petal_len_tf)plt.title("petal_tf")plt.xlabel("petal_wid_tf")plt.ylabel("petal_len_tf")plt.grid(True)plt.show()再放个图,有图有真相,哈哈O(∩_∩)O

    源码和数据集已经以附件的形式上传,分享链接在这里:iris.py  iris_test.csv
    那今天就先到这里啦,喝杯咖啡,我们下次见喽!
    作者:Litthins

    日期:2018年6月19日
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 17:43 , Processed in 0.110134 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.