人工智能学习笔记-Theano介绍及简单应用

本文介绍了Theano,一个Python库,用于机器学习中的符号数学计算,特别是神经网络。Theano特点包括与Numpy的紧密集成、GPU支持、符号微分和动态C代码生成。文章详细讲解了张量的概念、定义和精度问题,并通过实例展示了如何进行基本运算。最后,文章演示了如何使用Theano实现一个简单的神经网络,包括网络构建、训练和测试过程。
摘要由CSDN通过智能技术生成


1 Theano介绍和安装

1.1 什么是Theano

Theano是一个较为老牌和稳定的机器学习python库之一。Theano基于Python擅长处理多维数组(紧密集成了Numpy),属于比较底层的框架,theano起初也是为了深度学习中大规模人工神经网络算法的运算所设计,我们可利用符号化式语言定义想要的结果,接着theano会对我们的程序进行编译,使其高效运行于GPU或CPU

1.2 Theano的特点

Theano官方文档上摘抄来的对Theano的特征介绍:

  • tight integration with Numpy (紧密集成Numpy) —— 在Theano编译函数中使用numpy.ndarray
  • transparent use of a GPU (GPU的透明使用) —— 使得其对浮点数的运输非常高速
  • efficient symbolic differentiation (高效的符号分解) —— 也是Theano的发明初衷之一,可帮我们推导我们所定义的一个或多个输入的函数
  • speed and stability optimizations (快速且稳定的优化) —— 在函数表达式 log(1+x) 中即使 x <script type="math/tex" id="MathJax-Element-2">x</script>非常小,也可以给出精确的答案
  • dynamic C code generation (动态生成C代码) —— 使得表达式求值(evaluate expression)更加快速
  • extensive unit-testing and self-verification (大量的单元测试及自我验证) —— 可检测及诊断许多类型的错误

1.3 安装

系统ubuntu14.04

# 1. 先使用apt-get update命令进行更新,避免安装Python库时出现问题
$ sudo apt-get update

# 2. 接着安装在安装theano前需安装的Python库
$ sudo apt-get install python-numpy python-scipy python-matplotlib  python-dev python-pip python-nose python-tk g++ libopenblas-dev git

# 3. 接着第三步便是使用pip命令安装theano
$ sudo pip install theano

2 简单应用

2.1 张量

2.1.1 什么是张量

Tensor(张量)是什么,刚开始看的时候被绕的迷迷糊糊的头都晕了,最后发现其实就是多维数组起了个高大上的名字,让人看起来很牛逼,张量向量啥的比一维数组二维数组听起来高端多了。
通俗的讲:
scalar(标量) 0维数组
vector (向量) 1维数组
row (行向量) 2维数组,但是行数保证是1
col (列向量) 2维数组,但是列数保证是1
matrix (矩阵) 2维数组
tensor3 (三维矩阵) 3维数组
tensor4 (四位矩阵) 4维数组

2.1.2 怎么定义张量

后续所有的示例都需要按照如下代码引入包

import theano
import theano.tensor as T
from theano.tensor import *
from theano import shared
import numpy as np

Theano提供了一列预先定义好的张量类型可供使用者很方便地创造张量变量,所有的张量构造函数都接收一个 可选 的输入参数name。如以下便构造了三个以myvar为名字的 0维整型标量(scalar)变量

x = T.scalar('myvar', dtype='int32')
x = iscalar(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值