专栏首页宏伦工作室深度有趣 | 01-02 前言和准备工作

深度有趣 | 01-02 前言和准备工作

为什么做这门课

兴趣 是最好的老师

用 Python 做一些有意思的案例和应用,内容和领域不限,可以包括数据分析、自然语言理解、计算机视觉,等等等等

一个将各种有趣项目整合在一起的 大合集

学了能干嘛

并非专门为了某一项工作而学,而是从多个方面尝试一些自己 没有做过的事情

提高 代码能力、保持 终身学习

好玩、好玩、好玩

开发环境

  • Python 3
  • Sublime Text
  • IPython Notebook

开始 探索之旅!

接下来在个人电脑上,搭建编程所需的 各项环境

Anaconda

一个涵盖了 Python、pip 以及常用Python包的软件

https://www.anaconda.com/download/

根据操作系统进行选择,并使用 Python3 对应的Anaconda版本

Sublime Text

一个 简洁清爽 而 高颜值 的编辑器

https://www.sublimetext.com/

下载并安装 Sublime Text 3

也可以尝试其他对新手更友好的编辑器,例如 PyCharm

https://www.jetbrains.com/pycharm/

运行代码

运行代码 的三种方法

  • 使用编辑器编写代码,并在编辑器中运行
  • 使用编辑器编写代码,并在命令行中运行
  • 使用Jupyter Notebook编写代码并运行

安装包

可以用pipconda安装 Python包

pip install tensorflow keras

如果安装过慢,可以尝试使用 国内的源,例如清华提供的源

pip install tensorflow==1.9.0 keras==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

文件路径

Windows上的文件路径以 左斜杠 \拼接

C:\Users\hlzhang\Desktop

而Mac和Linux上的文件路径以 右斜杠 /拼接

/Users/honlan/Desktop

我习惯于后者,所以在后续代码中,如果使用字符串表示或拼接文件路径,则都是使用/

如果在 Windows 上报错,请将/相应地改为\

中文编码

在Windows上读写文本文件时,最好指定 编码 为utf8,尤其是在文件中包含 中文 时,因为这门课所涉及的文本文件都是utf8编码

fr = open('xyj.txt', 'r', encoding='utf8')

不然可能会出现类似以下 编码错误

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 2: illegal multibyte sequence

深度学习框架

TensorFlow和Keras都是非常流行的 深度学习框架

  • https://www.tensorflow.org/
  • https://keras.io/

TensorFlow 提供了更加底层的API,好比木材和各种工具,自己DIY

Keras 封装度更高,以Theano、TensorFlow等底层框架为backend,好比造好的轮子

用经典网络层搭模型时,Keras 更方便;动手实现和修改模型的细节时,TensorFlow 更灵活

Keras的backend可以是Theano或TensorFlow,为了保持一致,将backend改为TensorFlow

编辑以下文件,如果是Windows,则将$Home改为%USERPROFILE%

$HOME/.keras/keras.json

修改 backend 字段即可,改动始终有效

{
    "image_data_format": "channels_last",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "tensorflow"
}

或者在代码里指定,仅对 当前代码 有效

import os
os.environ['KERAS_BACKEND'] = 'tensorflow'
import keras

关于backend的更多内容,请参考以下文档

https://keras-cn.readthedocs.io/en/latest/backend/

GPU

CNN 等神经网络模型使用 GPU 训练更快,有条件的话可以用GPU,不然只能用CPU进行训练,相应地需要安装tensorflow的gpu版本

pip install tensorflow-gpu

如果是 Nvidia 的GPU,那么还需要安装和配置 CUDA 和 CuDNN

http://www.shushilvshe.com/data/dl-env-build.html

并且需要注意tensorflow和CUDA、CuDNN之间的 版本兼容问题

  • 在tensorflow1.6之前,使用CUDA8.0和CuDNN8
  • 从tensorflow1.6开始,使用CUDA9.0和CuDNN7
  • tensorflow版本更新很快,录课开始时还是1.4,录课结束时已经更新到了1.10
  • 没有一成不变的配置,只有 不断适应 才能赶上变化

推荐前置

  • 理论基础课:吴恩达深度学习微专业,http://mooc.study.163.com/smartSpec/detail/1001319001.htm
  • 编程实战课:全栈数据工程师养成攻略,https://study.163.com/course/courseMain.htm?courseId=1003520028

Q&A

__MACOSX.DS_Store是 mac文件系统 自动生成的,在其他操作系统下可以忽略,或者删掉

03课中,在Windows上读取包含 中文 的文本文件时,如果报UnicodeDecodeError,记得在open函数中指定编码open('xyj.txt', encoding='utf8')

13课中,所使用的中文维基分词语料下载链接为,https://pan.baidu.com/s/1qXKIPp6,提取密码为kade

18课中,在Windows上可能出现无法读取 中文名称图片 的情况,将图片名称修改成英文即可

29课中,main.py19行的split如果报IndexError,是因为Window使用 左斜杠 为路径分隔符,所以把/改成\\即可

视频讲解课程

https://study.163.com/course/courseMain.htm?courseId=1004777011

本文分享自微信公众号 - 宏伦工作室(HonlanFarm),作者:张宏伦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于itchat实现微信群消息同步机器人1.0

    张宏伦
  • 基于itchat实现微信群消息同步机器人

    张宏伦
  • 一文看懂GAN的原理

    生成对抗网络(Generative Adversarial Network,GAN)自从2014年由Ian Goodfellow提出以来,一直受到了广泛的关注和...

    张宏伦
  • keras设置theano为backend的方法

    在一些开源程序中,需要设置keras的backend为theano,这个主要原因是在安装tensorflow中,默认为把keras的backend为tensor...

    sparkexpert
  • tensorflow dataloader 相关内容

    Tensorflow dataloader 相关调研;数据读取是训练的开始,是非常关键的一步;下面是调研时搜集到的一些相关链接:

    xuyaowen
  • 【干货】前端自学之路(持续更新)

    《JavaScript Dom编程艺术》 《JavaScript面向对象编程指南(基础)》 《JavaScript高级程序设计》 《高性能JavaScri...

    Ewall
  • 音视频技术开发周刊 | 163

    https://groups.google.com/g/discuss-webrtc/c/pKCOpi9Llyc/m/QhZjyE02BgAJ

    LiveVideoStack
  • 音视频技术开发周刊 | 177

    在 WebRTC 中,Audio 数据在被送入编码器之前,有 2 大部分需要特别关注,一是数据采集,二是 Audio Processing。

    LiveVideoStack
  • 音视频技术开发周刊 | 178

    Pion团队很高兴宣布Pion WebRTC v3.0.0版本。Pion WebRTC是WebRTC的Go实现。

    LiveVideoStack
  • 这些网站,99%人用过都说是神器,还不收藏!

    —— 由谷歌开发的一个基于AI分析并猜出你要画什么的平台,是原先“你画我猜”的升级版,让你从现有图库里找出最符合脑中形象的图案。

    黑泽君

扫码关注云+社区

领取腾讯云代金券