tensorflow 学习1——tensorflow 做线性回归

1. 首先 Numpy:

Numpy是Python的科学计算库,提供矩阵运算. 想想list已经提供了矩阵的形式,为啥要用Numpy,因为numpy提供了更多的函数。
使用numpy,首先要导入numpy:  import numpy as np
使用numpy创建数组以list 或tuple作为参数:    np.array([1,2,3,4])   np.array((1.2,2,3,4))
使用numpy可以指定数据类型: numpy.int32, numpy.int16, numpy.float64
np.array((1,2,3,4),dtype=np.int32)

使用numpy.arange方法: np.arange(10)  [0 1 2 3 4 5 6 7 8 9 ]
                                        np.arange(10).reshape(2,5)  [[0 1 2 3 4 ][5 6 7 8 9]]
使用numpy.linspace方法:np.linspace(1,3,9)  在1到3之间产生9个数[1. 1.25. 1.5. 1.75. 2. 2.25. 2.5. 2.75. 3.]

还可以使用 numpy.zeros, numpy.ones, numpy.eye 等方法
查询属性: .ndim 维数, .shape 大小, dtype 元素类型、、、
操作: sum,  a.sum(), a.sum(axis=0) 计算每一列的和,
           min,  a.min(), a.max(), np.sin(a), np.floor(a), np.exp(a)
合并: np.vstack((a,b))  竖拼
          np.hstack((a,b)) 横拼

数组索引
索引数组中的一个值:   a[1,2]
索引数组中的一行:      a[1,:]
索引数组中的一个范围:a[1,1:3]

scipy: 包括统计,优化,整合,线性代数。。。scikit-learn: 机器学习

matplotlib: 绘图系统
import tensorflow as tf
import numpy
import matplotlib.pyplot as plt
rng = numpy.random

# Parameters
learning_rate = 0.01
training_epochs = 2000
display_step = 50

# Training Data
train_X = numpy.asarray([3.3,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,2.167,7.042,10.791,5.313,7.997,5.654,9.27,3.1])
train_Y = numpy.asarray([1.7,2.76,2.09,3.19,1.694,1.573,3.366,2.596,2.53,1.221,2.827,3.465,1.65,2.904,2.42,2.94,1.3])
n_samples = train_X.shape[0]

# tf Graph Input
X = tf.placeholder("float")
Y = tf.placeholder("float")

# Create Model

# Set model weights
W = tf.Variable(rng.randn(), name="weight")
b = tf.Variable(rng.randn(), name="bias")

# Construct a linear model
activation = tf.add(tf.mul(X, W), b)

# Minimize the squared errors
cost = tf.reduce_sum(tf.pow(activation-Y, 2))/(2*n_samples) #L2 loss
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) #Gradient descent

# Initializing the variables
init = tf.initialize_all_variables()

# Launch the graph
with tf.Session() as sess:
    sess.run(init)

    # Fit all training data
    for epoch in range(training_epochs):
        for (x, y) in zip(train_X, train_Y):
            sess.run(optimizer, feed_dict={X: x, Y: y})

        #Display logs per epoch step
        if epoch % display_step == 0:
            print "Epoch:", ‘%04d‘ % (epoch+1), "cost=",                 "{:.9f}".format(sess.run(cost, feed_dict={X: train_X, Y:train_Y})),                 "W=", sess.run(W), "b=", sess.run(b)

    print "Optimization Finished!"
    print "cost=", sess.run(cost, feed_dict={X: train_X, Y: train_Y}),           "W=", sess.run(W), "b=", sess.run(b)

    #Graphic display
    plt.plot(train_X, train_Y, ‘ro‘, label=‘Original data‘)
    plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label=‘Fitted line‘)
    plt.legend()
    plt.show()

输出:

时间: 2024-11-15 03:59:13

tensorflow 学习1——tensorflow 做线性回归的相关文章

01:一文入门谷歌深度学习框架Tensorflow

前期准备:安装好tensorflow1.0 Tensorflow API概要 Tensorflow提供了很多API. 最底层的API是Tensorflow core,推荐给机器学习的研究者或者那些想对模型有更好的掌控的大神们用- 较高层的API是在Tensorflow core的基础上封装建立的,肯定比Tensorflow core要更易学,更易使用啦-另外,较高层的API使得一些重复性的任务也更简单,并且在不同使用者中也更稳定. 比如高层API中有tf.contrib.learn, 可以帮助你

Tensorflow学习笔记01

Tensorflow官方网站:http://tensorflow.org/ 极客学院Tensorflow中文版:http://wiki.jikexueyuan.com/project/tensorflow-zh/ 使用Tensorflow写的第一个示例程序,用来做线性回归 import tensorflow as tf import numpy as np #create data x_data=np.random.rand(100).astype(np.float32) y_data=x_da

TensorFlow【机器学习】:如何正确的掌握Google深度学习框架TensorFlow(第二代分布式机器学习系统)?

本文标签:   机器学习 TensorFlow Google深度学习框架 分布式机器学习 唐源 VGG REST   服务器 自 2015 年底开源到如今更快.更灵活.更方便的 1.0 版本正式发布,由 Google 推出的第二代分布式机器学习系统 TensorFlow一直在为我们带来惊喜,一方面是技术层面持续的迭代演进,从分布式版本.服务框架 TensorFlow Serving.上层封装 TF.Learn 到 Windows 支持.JIT 编译器 XLA.动态计算图框架 Fold 等,以及

Tensorflow学习笔记3:TensorBoard可视化学习

TensorBoard简介 Tensorflow发布包中提供了TensorBoard,用于展示Tensorflow任务在计算过程中的Graph.定量指标图以及附加数据.大致的效果如下所示, TensorBoard工作机制 TensorBoard 通过读取 TensorFlow 的事件文件来运行.TensorFlow 的事件文件包括了你会在 TensorFlow 运行中涉及到的主要数据.关于TensorBoard的详细介绍请参考TensorBoard:可视化学习.下面做个简单介绍. Tensorf

【深度解析】Google第二代深度学习引擎TensorFlow开源

作者:王嘉俊 王婉婷 TensorFlow 是 Google 第二代深度学习系统,今天宣布完全开源.TensorFlow 是一种编写机器学习算法的界面,也可以编译执行机器学习算法的代码.使用 TensorFlow 编写的运算可以几乎不用更改,就能被运行在多种异质系统上,从移动设备(例如手机和平板)到拥有几百台的机器和几千个 GPU 之类运算设备的大规模分布式系统. TensorFlow 降低了深度学习的使用门槛,让从业人员能够更简单和方便地开发新产品.作为Google 发布的“平台级产品”,很多

一文全解:利用谷歌深度学习框架Tensorflow识别手写数字图片(初学者篇)

笔记整理者:王小草 笔记整理时间2017年2月24日 原文地址 http://blog.csdn.net/sinat_33761963/article/details/56837466?fps=1&locationNum=5 Tensorflow官方英文文档地址:https://www.tensorflow.org/get_started/mnist/beginners 本文整理时官方文档最近更新时间:2017年2月15日 1.案例背景 本文是跟着Tensorflow官方文档的第二篇教程–识别手

TensorFlow学习路径【转】

作者:黄璞链接:https://www.zhihu.com/question/41667903/answer/109611087来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 前言:其实TensorFlow本身仅仅是一个分布式的高性能计算框架,想要用TF做深度学习,仅仅学习这个框架本身是没有太大意义的.因此应该将TF看作技术路线中的一个核心点,去掌握整个开发所需要的必要技术,知识.尤其是深度学习的基本原理,这对日后搭建模型,模型调参以至提出新的模型都是极其有用的.

深度学习之TensorFlow(一)——基本使用

一.目前主流的深度学习框架Caffe, TensorFlow, MXNet, Torch, Theano比较 库名称 开发语言 速度 灵活性 文档 适合模型 平台 上手难易 Caffe c++/cuda 快 一般 全面 CNN 所有系统 中等 TensorFlow c++/cuda/Python 中等 好 中等 CNN/RNN Linux, OSX 难 MXNet c++/cuda 快 好 全面 CNN 所有系统 中等 Torch c/lua/cuda 快 好 全面 CNN/RNN linux,

深度学习(TensorFlow)环境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3

紧接着上一篇的文章<深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动>,这篇文章,主要讲解如何安装CUDA+CUDNN,不过前提是我们是已经把NVIDIA显卡驱动安装好了 一.安装CUDA CUDA(Compute Unified Device Architecture),是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务,想使用GPU就必须要使用CUDA.