前言:本文章纯属自己学习路线纪录,不喜勿喷。

最近AI很火,几乎是个程序员 都要去学习AI,作为一个菜鸡小前端,我也踏上了学习AI的方向。

在学习之中,最开始遇到了很多的困难,比如你不知道如何切入进来学习AI,你网上搜集到的资料都是各种各样,完全象各种碎片一样,自己又无法拼凑起来 形成一个完美的学习课程,

我前后摸索,看了很多视频,学到了很多的关键字,听到了很多各种各样的名词,loss fn  ,卷积神经网络,paddlepaddle,imgnet,积木,等等。头脑很乱 时间花了不少,但是学习效果很卑微。

在看了极客,慕课,百度,阿里的机器学习之后,我决定我前端以应用层的视角切入AI,即:

了解AI的过程和简单原理,

掌握如何调用AI的接口,

在应用层展示模型数据的反馈,

最后掌握如何在前端调用模型,利用kares.js来在浏览器做模型计算(可能比较满)并且反馈在页面上。

正文:

目前AI我了解到主要有情感识别,数字识别,图片分类,等等 ,简单来讲就是

X*W=Y

即:通过大量的数据,每一个X对应一个Y,通过大量的数据和数学反推,找到一个最合适的数据模型(W)。 具体的数学方便的知识我就不记录了,因为太多了。建议学习的童鞋可以先通过看教学视频了解什么是AI。

推荐2个学习视频地址:

1.爱奇艺搜索 李宏毅 机器学习,总共8个课时

2.极客网上,记录的关于paddlepaddle例子的讲解。

看了资料,对AI有了认识,对如何实现具体功能有了了解之后,开始具体自己来跑paddle的例子。

悲剧的事第一个就开始了(window做开发坑真的多),由于大量的资料都是谷歌的,基本中文资料相对比较少,我个人英文吃力,所以选择了学习了百度的paddlepaddle ,

Ps:我是win10 系统,paddle paddle不直接支持window  系统,所以我用python环境安装(python的环境是必备的,不清楚可以搜廖雪峰老师的python教程)的paddle就一直报错,

转而在docker 环境下去学习paddle。具体安装docker的教程我就直接附上地址吧,  这篇博客安装docker 还是很有用的(window);

docker 环境安装好,就开始安装paddle 环境,这个我自己绕了很多路,都没弄好,最后直接在官网看到了最简单的方式

使用Docker安装运行

使用Docker安装和运行PaddlePaddle可以无需考虑依赖环境即可运行。并且也可以在Windows的docker中运行。 您可以在 Docker官网 获得基本的Docker安装和使用方法。

如果您在使用Windows,可以参考 这篇 教程,完成在Windows上安装和使用Docker。

在了解Docker的基本使用方法之后,即可开始下面的步骤:

获取PaddlePaddle的Docker镜像

执行下面的命令获取最新的PaddlePaddle Docker镜像,版本为cpu_avx_mkl:

docker pull paddlepaddle/paddle

对于国内用户,我们提供了加速访问的镜像源:

docker pull docker.paddlepaddlehub.com/paddle

下载GPU版本(cuda8.0_cudnn5_avx_mkl)的Docker镜像:

docker pull paddlepaddle/paddle:latest-gpu
docker pull docker.paddlepaddlehub.com/paddle:latest-gpu

选择下载使用不同的BLAS库的Docker镜像:

# 默认是使用MKL的镜像
docker pull paddlepaddle/paddle
# 使用OpenBLAS的镜像
docker pull paddlepaddle/paddle:latest-openblas

下载指定版本的Docker镜像,可以从 DockerHub网站 获取可选的tag,并执行下面的命令:

docker pull paddlepaddle/paddle:[tag]
# 比如:
docker pull docker.paddlepaddlehub.com/paddle:0.11.0-gpu

楼主是安装的Gpu 版本的docker。网速不好的童鞋 一定要选择国内的镜像哦,不然像楼主一样,安了2个多小时 才不到百分之30,最后用国内镜像,10分钟就搞定了。

然后 我继续安装了paddle/book, ,如果你装好了paddle环境,那么直接运行

docker run -p 8888:8888 paddlepaddle/book


就会自动找寻最稳定的book 版本安装;
安装好后就可以先跑paddle官方的demo了,。

AI 学习之路的更多相关文章

  1. AI学习经验总结

    我的人工智能学习之路-从无到有精进之路 https://blog.csdn.net/sinox2010p1/article/details/80467475 如何自学人工智能路径规划(附资源,百分百亲 ...

  2. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

  3. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  4. RPC远程过程调用学习之路(一):用最原始代码还原PRC框架

    RPC: Remote Procedure Call 远程过程调用,即业务的具体实现不是在自己系统中,需要从其他系统中进行调用实现,所以在系统间进行数据交互时经常使用. rpc的实现方式有很多,可以通 ...

  5. webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口

    webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...

  6. [精品书单] C#/.NET 学习之路——从入门到放弃

    C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...

  7. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  8. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

  9. Redis——学习之路二(初识redis服务器命令)

    上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   s ...

随机推荐

  1. Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具

    Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具 记得我的第一篇博客就是写Android Studio,但是现在看来还是有些粗糙了,所有重构了一下思路, ...

  2. java中public与private还有protect的区别

    java中public与private还有protect的区别 总是忘记.

  3. UNIX环境高级编程——计算机体系结构基础知识

    无论是在CPU外部接总线的设备还是在CPU内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问,很多体系结构(比如ARM)采用这种方式操作设备,称为等都会产生异常. 通常操作系统把虚拟地址空间 ...

  4. IDEA中运行KafkaWordCount程序

    1,从spark的example中找到KafkaWordCount.scala文件复制到idea编辑器中,引入包: 2,编辑configuration,     (1)KafkaWordCountPr ...

  5. React 之props属性

    React 里有一个非常常用的模式就是对组件做一层抽象.组件对外公开一个简单的属性(Props)来实现功能,但内部细节可能有非常复杂的实现. 可以使用 JSX 展开属性 来合并现有的 props 和其 ...

  6. Linux之使用网络

    Linux有好多命令可以让你方便的使用网络,常见的有ssh,rsync,wget,curl等等,但是telnet等方式并不适用于网络交互的使用,因为它会暴露你的用户名密码等.所以一般使用安全的命令来进 ...

  7. 【leetcode75】Intersection of Two Arrays(数组的交集)

    题目描述: 给定两个数组求他们的公共部分,输出形式是数组,相同的元素只是输出一次 例如: nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. 原文描述: ...

  8. 【一天一道LeetCode】#77. Combinations

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given t ...

  9. MySQL学习笔记_8_SQL语言基础复习

    SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...

  10. 典型分布式系统分析: GFS

    本文是典型分布式系统分析系列的第二篇,关注的是GFS,一个分布式文件存储系统.在前面介绍MapReduce的时候也提到,MapReduce的原始输入文件和最终输出都是存放在GFS上的,GFS保证了数据 ...