吴裕雄 python深度学习与实践(13)

import numpy as np
import matplotlib.pyplot as plt

x_data = np.random.randn(10)
print(x_data)
y_data = x_data * 0.3 + 0.15
print(y_data)

plt.plot(x_data,y_data)
plt.scatter(x_data,y_data,c="r")
plt.show()

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

x_data = np.random.randn(10)
y_data = x_data * 0.3 + 0.15

weight = tf.Variable(0.5)
bias = tf.Variable(0.0)
y_model = weight * x_data + bias

loss = tf.pow((y_model - y_data),2)
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)

sess = tf.Session()
init = tf.initialize_all_variables()
sess.run(init)

for _ in range(200):
    sess.run(train_op)
    print(weight.eval(sess),bias.eval(sess))

plt.plot(x_data, y_data, 'ro', label='Original data')
plt.plot(x_data, sess.run(weight) * x_data + sess.run(bias), label='Fitted line')
plt.legend()
plt.show()

.........................

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

x_data = np.random.randn(10)#.astype(np.float32)
y_data = x_data * 0.3 + 0.1

weight = tf.Variable(0.5)
bias = tf.Variable(0.0)
x_ = tf.placeholder(tf.float32)
y_ = tf.placeholder(tf.float32)
y_model = weight * x_ + bias

loss = tf.pow((y_model - y_),2)
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)

sess = tf.Session()
init = tf.initialize_all_variables()
sess.run(init)

for _ in range(5):
    for (x,y) in zip(x_data,y_data):
        sess.run(train_op,feed_dict={x_:x,y_:y})
    print("weighe: " ,weight.eval(sess)," | bias: ",bias.eval(sess))

plt.plot(x_data, y_data, 'ro', label='Original data')
plt.plot(x_data, sess.run(weight) * (x_data) + sess.run(bias), label='Fitted line')
plt.legend()
plt.show()

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

threshold = 1.0e-2
x_data = np.random.randn(10).astype(np.float32)
y_data = x_data * 3 + 1

weight = tf.Variable(1.)
bias = tf.Variable(1.)
x_ = tf.placeholder(tf.float32)
y_ = tf.placeholder(tf.float32)
y_model = tf.add(tf.multiply(x_, weight), bias)

loss = tf.reduce_mean(tf.pow((y_model - y_),2))
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)

sess = tf.Session()
init = tf.initialize_all_variables()
sess.run(init)
flag = 1
while(flag):
    for (x,y) in zip(x_data,y_data):
        sess.run(train_op,feed_dict={x_:x,y_:y})
    print(weight.eval(sess), bias.eval(sess))
    if(sess.run(loss,feed_dict={x_:x_data,y_:y_data}) <= threshold):
        flag = 0

plt.plot(x_data, y_data, 'ro', label='Original data')
plt.plot(x_data, sess.run(weight) * (x_data) + sess.run(bias), label='Fitted line')
plt.legend()
plt.show()

......................................................

#coding:utf-8

import numpy as np

a = np.array([1,2,3])
b = np.array([7,8])
res = np.meshgrid(a,b)
for i in res:
    print(i)

import numpy as np
import matplotlib.pyplot as plt

x = np.array([[0, 1, 2], [0, 1, 2]])
y = np.array([[0, 0, 0], [1, 1, 1]])

plt.plot(x, y,color='red',marker='.', linestyle='--')  
plt.grid(True)
plt.show()
plt.plot(x, y, marker='.',markersize=10,linestyle='-.')  
plt.grid(True)
plt.show()

import numpy as np
import matplotlib.pyplot as plt

x = np.array([[0, 1, 2, 3],
              [0, 1, 2, 3],
              [0, 1, 2, 3],
              [0, 1, 2, 3]])
y = np.array([[0, 0, 0, 0],
              [1, 1, 1, 1],
              [2, 2, 2, 2],
              [3, 3, 3, 3]])

plt.plot(x, y,marker='.', markersize=10,linestyle='-.')  
plt.grid(True)
plt.show()

import numpy as np
import matplotlib.pyplot as plt

x = np.array([0, 1, 2])
y = np.array([0, 1])
X, Y = np.meshgrid(x, y)
print(X)
print(Y)

plt.plot(X, Y,color='red',  marker='.',  linestyle='') 
plt.grid(True)
plt.show()

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,1000,20)
y = np.linspace(0,500,20)

X,Y = np.meshgrid(x, y)

plt.plot(X, Y,color='limegreen', marker='.',linestyle='') 
plt.grid(True)
plt.show()

import numpy as np
import matplotlib.pyplot as plt

from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.ticker import LinearLocator, FormatStrFormatter
 
fig = plt.figure(figsize=(16,12))
ax = fig.gca(projection="3d")
 
#准备数据
x = np.arange(-5, 5, 0.25)   #生成[-5,5] 间隔0.25的数列,间隔越小,曲面越平滑
y = np.arange(-5, 5, 0.25)
x, y = np.meshgrid(x,y)   #格点矩阵,原来的x行向量向下复制len(y)此形成
r = np.sqrt(x ** 2 + y ** 2)
z = np.sin(r)
 
surf = ax.plot_surface(x, y, z, cmap=cm.coolwarm)   #cmap指color map
 
#自定义z轴
ax.set_zlim(-1, 1)
ax.zaxis.set_major_locator(LinearLocator(20))   #z轴网格线的疏密,刻度的疏密,20表示刻度的个数
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))   #将z的value子符串转为float,保留2位小数
 
#设置坐标轴的label和标题
ax.set_xlabel('x', size=15)
ax.set_ylabel('y', size=15)
ax.set_zlabel('z', size=15)
ax.set_title("Surface plot", weight='bold', size=20)
 
#添加右侧的色卡条
fig.colorbar(surf, shrink=0.6, aspect=8) #shrink表示整体收缩比例,aspect仅对bar的宽度有影响,
# aspect值越大,bar越窄
 
plt.show()

import numpy as np
import matplotlib.pyplot as plt

n=1024  
X=np.random.normal(0,1,n)   
Y=np.random.normal(0,1,n)  
T=np.arctan2(Y,X)#返回给定的 X 及 Y 坐标值的反正切值。

plt.scatter(X,Y,s=75,c=T,alpha=0.5)

plt.xlim(-1.5,1.5)
plt.xticks(())
plt.ylim(-1.5,1.5)
plt.yticks(())

plt.show()

import matplotlib.pyplot as plt
import numpy as np

n=12
X=np.arange(n)
Y1=(1 - X / float(n)) * np.random.uniform(0.5,1.0,n)
Y2=(1 - X / float(n)) * np.random.uniform(0.5,1.0,n)

plt.bar(X,+Y1,facecolor='#9999ff',edgecolor='white')
plt.bar(X,-Y2,facecolor='#ff9999',edgecolor='white')


for x,y in zip(X,Y1):
    plt.text(x+0.4,y+0.05,'%.2f' % y,ha='center',va='bottom')

for x,y in zip(X,Y2):
    plt.text(x+0.4,-y-0.05,'%.2f' % y,ha='center',va='bottom')

plt.xlim(-1,n)
plt.xticks(())
plt.ylim(-1.25,1.25)
plt.yticks(())

plt.show()

import numpy as np
import matplotlib.pyplot as plt

def f(x,y):
    return (1 - x/2 + x**5 + y**3) * np.exp(-x**2,-y**2)

n=256
x=np.linspace(-3,3,n)
y=np.linspace(-3,3,n)
X,Y=np.meshgrid(x,y)

plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)
C=plt.contour(X,Y,f(X,Y),8,colors='black',linewidth=0.5)

plt.clabel(C,inline=True,fontsize=10)
plt.xticks(())
plt.yticks(())
plt.show()

import numpy as np
import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

fig=plt.figure()
ax=Axes3D(fig)

X=np.arange(-4,4,0.25)
Y=np.arange(-4,4,0.25)
X,Y=np.meshgrid(X,Y)
R=np.sqrt(X ** 2 + Y ** 2)
Z=np.sin(R)

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap=plt.get_cmap('rainbow'))

plt.show()

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

from mpl_toolkits.mplot3d import Axes3D

threshold = 1.0e-2
x1_data = np.random.randn(100).astype(np.float32)
x2_data = np.random.randn(100).astype(np.float32)
y_data = x1_data * 2 + x2_data * 3  + 1.5

weight1 = tf.Variable(1.)
weight2 = tf.Variable(1.)
bias = tf.Variable(1.)
x1_ = tf.placeholder(tf.float32)
x2_ = tf.placeholder(tf.float32)
y_ = tf.placeholder(tf.float32)

y_model = tf.add(tf.add(tf.multiply(x1_, weight1), tf.multiply(x2_, weight2)),bias)
loss = tf.reduce_mean(tf.pow((y_model - y_),2))

train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)

sess = tf.Session()
init = tf.initialize_all_variables()
sess.run(init)
flag = 1
while(flag):
    for (x,y) in zip(zip(x1_data, x2_data),y_data):
        sess.run(train_op, feed_dict={x1_:x[0],x2_:x[1], y_:y})
    if sess.run(loss, feed_dict={x1_:x[0],x2_:x[1], y_:y}) <= threshold:
        flag = 0

fig = plt.figure()
ax = Axes3D(fig)
X, Y = np.meshgrid(x1_data, x2_data)
Z = sess.run(weight1) * (X) + sess.run(weight2) * (Y) + sess.run(bias)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.hot)
ax.contourf(X, Y, Z, zdir='z', offset=-1, cmap=plt.cm.hot)
ax.set_zlim(-1, 1)
plt.show()

原文地址:https://www.cnblogs.com/tszr/p/10542541.html