TensorFlow之Matplotlib(6)

Matplotlib  ——(分解)   Matrix   Plot   Library

                              矩阵 绘图  库

· 一个极其强大的Python绘图库。官网:matplotlib.org

· 很少的代码即可绘制2D/3D,静态/动态等各种图形

· 一般常用的是它的子包:PyPlot,提供类似MATLAB的绘图框架。

Matplotlib 的一般绘制流程:

准备数据 ——》 构建图像 ——》 显示图像

示例:vim Basic.py

 1 # -*- coding:utf-8 -*-
 2 
 3 #引入 Matplotlib 的分模块 PyPlot
 4 import matplotlib.pyplot as plt
 5 
 6 import numpy as np
 7 
 8 #创建数据
 9 x = np.linspace(-2, 2, 100)
10 #y = 3 * x + 4
11 y1 = 3 * x + 4
12 y2 = x ** 2
13 
14 
15 #创建图像
16 #plt.plot(x, y)
17 plt.plot(x, y1)
18 plt.plot(x, y2)
19 
20 
21 #显示图像
22 plt.show()

示例2:

 1 # -*- coding:utf-8 -*-
 2 
 3 #引入 Matplotlib 的分模块 PyPlot
 4 import matplotlib.pyplot as plt
 5 
 6 import numpy as np
 7 
 8 #创建数据
 9 x = np.linspace(-2, 2, 100)
10 y1 = 3 * x + 4
11 y2 = x ** 2
12 
13 
14 #构建第一张图
15 plt.figure(num=1, figsize=(7,6))
16 plt.plot(x, y1)
17 plt.plot(x, y2, color="red", linewidth=3.0, linestyle="--")
18 
19 #构建第二张图
20 plt.figure(num=2)
21 plt.plot(x, y2, color="green")
22 
23 #显示图像
24 plt.show()

 TensorFlow之梯度下降解决线性回归(7)

Operations(操作)
操作类别        操作举例
基本操作        split,rank,reshape,random_shuffle,slice,concat,...
逐元素的数学操作   add,subtract,multiply,div,greater,less,equal,exp,log,...
矩阵操作       eye,matmul,matrix_inverse,matrix_determinant,...
状态型操作       Variable,assign,assign_add,...
神经网络操作     sigmoid,relu,softmax,max_pool,dropout,conv2d,dynamic_rnn,...
保存/还原操作     train.saver.save,train.saver.restore
模型训练操作      train.GradientDescentOptimizer,train.AdamOptimizer,...

一些等价的操作
操作 等价操作
tf.add(a, b) a+b
tf.subtract(a, b) a-b
tf.multiply(a, b) a*b
tf.div(a, b) a/b
tf.mod(a,b) a%b
tf.square(a) a*a


# -*- coding:utf-8 -*-

"""
用梯度下降的优化方法来快速解决线性回归问题
"""

import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf

#构建数据
points_num = 100
vectors = []
#用 Numpy 的正态随机分布函数生成 100 个点
#这些点的 (x, y) 坐标值对应线性方程 y = 0.1 * x + 0.2
#权重 (Weight) 0.1, 偏差 (Bias) 0.2
for i in xrange(points_num):
x1 = np.random.normal(0.0, 0.66)
y1 = 0.1 * x1 + 0.2 + np.random.normal(0.0, 0.04)
vectors.append([x1, y1])

x_data = [v[0] for v in vectors] #真实的点的 x 的坐标
y_data = [v[1] for v in vectors] #真实的点的 y 的坐标

#图像 1: 展示100个随机数据点
plt.plot(x_data, y_data, "*", label="Original data") #红色星形的点
plt.title("Linear Regression using Gradient Descent")
plt.legend()
plt.show()

猜你喜欢

转载自www.cnblogs.com/xyqiu90-365/p/9770075.html