当前位置 博文首页 > 一文让你秒懂精通pip并快速体验深度学习应用【建议收藏】

    一文让你秒懂精通pip并快速体验深度学习应用【建议收藏】

    作者:雷学委 时间:2021-09-18 18:34

    目录
    • 前言
    • 什么是pip
    • 再说 pip, 它就像应用宝
    • 下面给我们的手机安装应用宝
      • Centos 安装pip for python2
      • 试用pip来安装库
      • 配置国内的Pypi镜像仓库
    • 安装virtualenv
      • 玩转深度学习框架tensorflow
        • 总结

          前言

          学会Python很重要,懂了基础,再学会pip更加重要!

          就像手机安装应用一样简单,学委带着你在主机上安装pip,再安装虚拟环境(virualenv),最后简单试水深度学习框架tensorflow!知识量很多,耐心看吧。

          学委想说,Python其实就跟白开水一样,没有那么难,把握住了,上面的东西随便玩!

          你本来就学会了Python就是没有找到好玩的库,结果半路跑去玩游戏了,或者半路跑去学Java/C++了多么浪费天赋啊!哈哈哈

          什么是pip

          先说Python 库, 它就像一个手机App

          小白可以这样理解,一个python库,就像手机里面的一个App,一个普通应用一样。

          一个python 库就是将Python代码组织在一个文件夹或者多个作为一个整体单位发行出去的代码库。

          很多开发者做了一个优秀的库之后会发布到pypi网站(如下),这也是python开源的基础。

          再说 pip, 它就像应用宝

          对小白来说pip就像你的华为手机里面的应用市场App或者像腾讯应用宝App一样的玩意。

          它能够给你搜索下载其他App。pip是一个用来安装python库的工具,类似NodeJS的npm。

          开发者可以贡献自己开发好的代码到pypi,再使用pip就从pypi查找下载一个python 模块。

          这样我们就能在项目中引入其他人的python 库的模块了。

          比如requests这个模块,可以引入用来访问http(s)链接。

          下面是pip的使用帮助提示:

          下面给我们的手机安装应用宝

          没打错,给我们的云主机安装pip。

          先查看版本号,很多服务器默认都会安装python 2.7(没办法,图方便,也有很多懒人不升级python的,而且依然还有不少项目仍在用python2的)

          python -V #查看版本号

          Centos 安装pip for python2

          雷学委准备了下面的脚本,只要你有一个Linux操作系统(云/虚拟机都行),执行下面的脚本可以安装pip。

          #!/bin/sh
          #雷学委建议懂得朋友修改下面代码,安装pip for python3
          #python3
          #getPip=https://bootstrap.pypa.io/get-pip.py
          #python2
          getPip=https://bootstrap.pypa.io/pip/2.7/get-pip.py
          
          pipFile=./get-pip.py
          if [ ! -e ${pipFile} ] ; then 
              echo "download pip"
              wget ${getPip} -O ${pipFile}
          fi
          
          python ${pipFile}
          

          安装效果图:

          好了,其实到这里,你一样安装了第一个python应用,可以三连了。

          试用pip来安装库

          查看版本:pip -V

          其实pip本身也是python社区里面的一款爆品应用。

          它本身也是一个python 库。

          #pip 搜索requests这个库
          pip search requests
          #pip 安装requests这个库
          pip install requests
          

          配置国内的Pypi镜像仓库

          因为学委这台主机是腾讯云的,所以配了腾讯的仓库!(如果腾讯云看到了这篇文章,希望给博主多一些优惠,哈哈哈)

          [global]
          index-url = http://mirrors.tencentyun.com/pypi/simple
          trusted-host = mirrors.tencentyun.com
          

          国内的一些Pypi镜像

          阿里云

          mirrors.aliyun.com/pypi/simple…

          清华大学

          pypi.tuna.tsinghua.edu.cn/simple/

          校验是否配置生效:

          查看你安装的应用 - pip 查本地库

          比如下面的命令:

          #查看本地安装的python库
          pip list
          #比如你装了tensorflow,可以查看这个库的详细信息,版本依赖等
          pip show tensorflow
          

          查看tensorflow这个深度学习库的信息

          试用pip安装其他'应用‘

          安装virtualenv

          virtualenv 是一个提供了一个独立的项目环境,它隔离了python项目跟系统python的依赖(比如site-packages)内的一些非官方发行的包。

          当然,它也是一个python module。拥有它,你可以让自己的每个项目独立管理自己依赖的python库。

          简单来说,virtualenv就相当于,送您一部备用手机。
          你在上面安装其他应用,随便乱装都不会影响到主手机的使用。
          同理,你可以使用virtualenv来创建多个备用手机环境。

          下面是比较绕的正式说法(小白可以不看)。

          有了virtualenv,就能实现单个项目(自己)的库自己管理,而不跟系统Python公共库路径混起来! 多个Python 项目也能互相独立使用不同版本的python库。

          雷学委希望大家都有这个好习惯,多使用virtualenv来隔离不同python项目!(其实这个小技巧就应该给三连了!)
          看到这里,继续安装吧

          pip install virtualenv
          

          安装效果如下,pip帮我们下载安装virtualenv库,并下载安装到本机了。这就是应用市场下载安装一个应用一样一样的!

          玩转深度学习框架tensorflow

          使用virtualenv 创建一个项目并进入目录,激活切换到虚拟环境

          virtualenv tensorflow-demo 
          cd  tensorflow-demo
          source bin/activate
          

          下面先看运行效果

          总共执行5个迭代,训练模型,最后评估出来的模型准确度为0.9768(比第一代 0.9147提高了6个百分点)

          具体操作和项目配置

          安装tensorflow

          pip install tensorflow
          

          雷学委建议大伙先收藏,懒人直接复制代码:

          import tensorflow as tf
          
          #http://yann.lecun.com/exdb/mnist/ - mnist数据集,就是一些专业人员整理的方便机器学习初学者做学习训练的一些数据
          mnist = tf.keras.datasets.mnist
          
          #加载训练数据(60K个样本)和测试数据(10K个样本)
          (x_train, y_train), (x_test, y_test) = mnist.load_data()
          x_train, x_test = x_train / 255.0, x_test / 255.0
          
          #定义一个模型
          model = tf.keras.models.Sequential([
            tf.keras.layers.Flatten(input_shape=(28, 28)),
            tf.keras.layers.Dense(128, activation='relu'),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, activation='softmax')
          ])
          #编译配置模型的优化器,损耗函数,以及检验指标
          model.compile(optimizer='adam',
                        loss='sparse_categorical_crossentropy',
                        metrics=['accuracy'])
          
          #开始训练,执行5个迭代
          model.fit(x_train, y_train, epochs=5)
          #评估模型,verbose=2表示每一代处理当作一行输出
          model.evaluate(x_test,  y_test, verbose=2)
          

          这个模型对60K图片样本进行识别,进行5轮迭代的模型训练。(官方写的60K,下一篇给大伙数数)

          最后再使用测试数据集对训练好的模型进行评估。

          是不是上面的代码看不懂?过来看看下面的人话吧。

          这个过程就相当于整个字库里面有100个字,你拿了90个字来临摹,临摹了5遍毛笔字,每次都看一下跟标准字体贴合率(准确率)。
          最后在把另外10个字丢给你写,写完看看你写字的准确率,写的够不够标准。
          你就像一个被不断训练的模型,字库/测试字库都是用来训练的数据
          只要给你训练的足够多,你就能够写出更好看更标准的字,懂了吗?学习知识也是一样的。

          好了,本文的重点是安装掌握pip,顺便玩第一个DL应用。

          再看看这个图,你懂了吗?请记住这个图!

          先写到这里了。恭喜你,看到这里已经超值了,几分钟到功夫,学到这么多

          参考链接

          • Python共享中心仓库
          • VirtualEnv
          • TensorFlow初学者快速入门

          总结

          jsjbwy
          下一篇:没有了