# -*- coding: utf-8 -*-
'''
Created on 2018年1月26日
@author: Jason.F
@summary: pip install Theano,
Theano,对于张量能够高效地实现、编译和评估数学表达式,支持在GPU上运行,利用GPU中巨大内存带宽及浮点数运算能力
实现一个基于最小二乘法的线性回归
'''
import theano
from theano import tensor as T
import numpy as np
import matplotlib.pyplot as pltprint(theano.config.floatX)#查看浮点变量的设置
theano.config.floatX='float32'
print(theano.config.device)#查看是在CPU还是GPU上
X_train =np.asarray([[0.0],[1.0],[2.0],[3.0],[4.0],[5.0],[6.0],[7.0],[8.0],[9.0]],dtype=theano.config.floatX)
y_train =np.asarray([1.0,1.3,3.1,2.0,5.0,6.3,6.6,7.4,8.0,9.0],dtype=theano.config.floatX)
def train_linreg(X_train,y_train,eta,epochs):costs=[]#initial arrayseta0=T.fscalar('eta0')y=T.fvector(name='y')X=T.fmatrix(name='X')w=theano.shared(np.zeros(shape=(X_train.shape[1]+1),dtype=theano.config.floatX),name='w')#calculate costnet_input = T.dot(X,w[1:])+w[0]errors=y-net_inputcost = T.sum(T.pow(errors,2))#perform gradient updategradient = T.grad(cost,wrt=w)update =[(w,w-eta0*gradient)]#compile modeltrain = theano.function(inputs=[eta0],outputs=cost,updates=update,givens={X:X_train,y:y_train})for _ in range(epochs):costs.append(train(eta))return costs,wcosts,w = train_linreg(X_train, y_train, eta=0.001, epochs=10)
plt.plot(range(1,len(costs)+1),costs)
plt.tight_layout()
plt.xlabel('Epoch')
plt.ylabel('Cost')
plt.show()    def predict_linreg(X,w):Xt=T.matrix(name='X')net_input = T.dot(Xt,w[1:])+w[0]predict = theano.function(inputs=[Xt],givens={w:w},outputs=net_input)return predict(X)
plt.scatter(X_train,y_train,marker='s',s=50)
plt.plot(range(X_train.shape[0]),predict_linreg(X_train, w),color='gray',marker='o',markersize=4,linewidth=3)
plt.xlabel('x')
plt.ylabel('y')
plt.show()

结果:

【Python-ML】神经网络-Theano张量库(GPU版的Numpy)相关推荐

  1. [Python人工智能] 五.theano实现神经网络正规化Regularization处理

    从本系列文章开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.前四篇文章讲解了神经网络基础概念.Theano库的安装过程及基础用法.theano实现回归神经网络.theano实现 ...

  2. [Python人工智能] 三.theano实现分类神经网络及机器学习基础

    从本篇文章开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.前两篇文章讲解了神经网络基础概念.Theano库的安装过程及基础用法.theano实现回归神经网络,这篇文章主要讲解机 ...

  3. Windows 10 Anaconda Python 3.7 安装 MXNet GPU版

    MXNet CPU版本可以直接通过pip进行安装: pip install mxnet MXNet GPU版本不推荐通过pip进行安装,推荐使用conda进行安装: conda install -c ...

  4. Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置

    最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下 ...

  5. python制作题库网站_Python解答力扣网站题库简单版!

    1041. 困于环中的机器人 题库链接: 1041. 困于环中的机器人 . 题干 在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方.机器人可以接受下列三条指令之一: "G" ...

  6. 来都来了,你确定不看看,使用python中的科学计算库Numpy操作数组,你一定能学废(图文并茂版)

    Numpy操作数组 Numpy库 Numpy库的介绍 Numpy库的安装: python中数组与列表对比 列表: 数组: 数组的创建 使用array方法创建数组 注意: ndmin,dtype参数的使 ...

  7. python之pip安装第三方库

    库(Library) Python中库是借用其他编程语言的概念,没有特别具体的定义. 模块和包侧重于代码组织,有明确的定义.库强调的是功能性,而不是代码组织. 我们通常将某个功能的"模块的集 ...

  8. python神经网络编程 豆瓣,用python构建神经网络

    python深度学习框架学哪个 Python深度学习生态系统在这几年中的演变实属惊艳.pylearn2,已经不再被积极地开发或者维护,大量的深度学习库开始接替它的位置.这些库每一个都各有千秋. 我们已 ...

  9. python 统计组合用什么库_Python数据科学,用这些库就够了

    为了方便学习,本文列出的20个Python库将按领域进行分类,有些你可能并不熟悉,但是真的能提高你的模型算法实现效率,多一点尝试,多一些努力! ▌核心库和统计数据 1. NumPy (Commits: ...

最新文章

  1. java String pool
  2. python去除字符串中的单词_从字符串中删除单词列表
  3. 人像拍摄时眼部合焦的技巧
  4. feeder link
  5. 简单的C语言程序合集
  6. Bean放入Spring容器,你知道几种方式?
  7. git更新pull报错Pulling 1 repository Remote does not have refs/heads/rel5.1 available for fetch
  8. Ubuntu16.04刷机+装驱动
  9. 上海内推 | 上海人工智能实验室招聘计算视觉实习生(NeRF神经渲染方向)
  10. 谷歌浏览器---日常使用设置
  11. 用计算机弹抖音上最火的纯音乐,抖音十大最火歌曲排名,包含几首超燃bgm纯音乐...
  12. 什么是ANR,如何避免ANR
  13. Enterprise Architect入门:如何利用BABOK指南进行建模
  14. java版阿里云,百度ai,讯飞语音识别效果简单对比及demo
  15. 计算机英语及教学法,计算机英语教学方法探析
  16. LogStash 错误:Logstash could not be started because there is already another instance usin
  17. iOS 9人机界面指南(一):UI设计基础
  18. 协议栈植入芯片势在必行,IPSec就是个错误
  19. 机器学习-非参数估计
  20. 三维货架空间布局的优化算法——详细版

热门文章

  1. Mongodb的安装部署
  2. 基于Java的RDMA高性能通信库(二):Java Socket Over RDMA
  3. linux x下载工具,Linux下强大的Axel下载工具
  4. webbench网站压力测试工具的使用方法
  5. int i=i++;和i=++i;和i++
  6. 网络IO超时的几种实现
  7. 【H.264/AVC视频编解码技术具体解释】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据...
  8. C# 填充pdf 模板生成报告
  9. ZH奶酪:Python按行读取文件
  10. windows下线程创建