一.numpy
1.初始化多维数组
import numpy as np //引入numpy库
arr1=arange(15).reshape(3,5) //声明3行5列的数组
arange().reshape()用法:
import numpy as np
print('默认一维为数组:', np.arange(5)) // [0 1 2 3 4]
print('自定义起点一维数组:',np.arange(1, 5)) // [1 2 3 4]
print('自定义起点步长一维数组:',np.arange(2, 10, 2)) //[2 4 6 8]
print('二维数组:', np.arange(8).reshape((2, 4))) // 二维数组,二行四列
print('三维数组:', np.arange(60).reshape((3, 4, 5))) //三维数组,四行五列
print('指定范围三维数组:',np.random.randint(1, 8, size=(3, 4, 5)))
https://blog.csdn.net/chinacmt/article/details/78548420
直接赋值:
//二维数组
arr1=np.array([(1,2,3,4),(1.2.3.4)])
// 三维数组
arr2=np.array([([(1, 2, 3, 4),(1, 2, 3, 4)]),
([(1,1,1,1),(2,2,2,2)]),
([(3,3,3,3),(4,4,4,4)])])
全为0:
// 三行五列全为 0 的矩阵
a1=np.zeross((2,3))
// 三行五列全为 1 的矩阵
a2=np.ones((2,3))
// 三行五列全为 8 的矩阵
a3=np.full((2,3),8.0)
// 三维的单位矩阵
a4=np.eye(3)
2.用布尔表达式选择坐标
// b作为选择条件
a=np.full((2,3),2.0)
b=(a>2)
print((type(b),b))
答案为:
<type 'numpy.ndarray'>, array([[False, False, False],
[False, False, False]]))
3. a.type 自动判断类型
4. np.dot(v1,v2) 向量点积
5 广播操作:将不同维度的数组变成相同维度相加
w=np,.array([[1,1,1],[1,1,1,],[1,1,1,]])
x=np.arrary([2,2,2])
y=w+x
// y:
y=[[3 3 3]
[3 3 3]
[3 3 3]]
6. x=np.array[] x.T为转置
7. np.empty_like(w) 生成一个空的与w维度相同的矩阵
8. 矩阵求逆,行列式
//要载入科学计算库 scipy
from scipy import linalg
a=
a_1=linalg.inv(a) // 求逆
a_det=linalg.det(a) //求行列式
b=linalg.norm(a,1) //一阶范数
b=linalg.norm(a,1) //二阶范数
9.求特征值,特征向量
二. tensorflow
1.用随机数初始化张量
v1=tf.random_uniform(shape=[20,30],minval=0,maxval=1) //均匀分布在0~1
v2=tf.random_normal(shape=[20,30],mean=0.0,stddev=0.1) //均值0.0,标准差0.1初始化
2. 使用placeholder
import numpy as np
import tensorflow as tf
def startup():
print ('hello world')
x=tf.placeholder(shape=[2,3],dtype=tf.float32) //定义一个二维的placeholder
y=2*x
x_in=np.array([[1.0,2.0,3.0],[4.0,5.0,6.0]])
with tf.Session() as sess: //启动yensorflow对话
sess.run(tf.initialize_local_variables()) //初始化变量
rst=sess.run(y,feed_dict={x:x_in}) //feed_dict用来给tensor赋值,返回y
print(rst)
if '__main__' == __name__:
startup()
3.神经元激活函数
import numpy as np
import tensorflow as tf
def startup():
print ('hello world')
x=tf.placeholder(shape=[2,3],dtype=tf.float32)
y=2*x
x_in=np.array([[1.0,2.0,3.0],[4.0,5.0,6.0]])
with tf.Session() as sess:
sess.run(tf.initialize_local_variables())
rst=sess.run(y,feed_dict={x:x_in})
print(rst)
if '__main__' == __name__:
startup()
4.求特征值
def main():
a=tf.constant()
e,v=tf.self_adjoint_eig(a)
with tf.Session as sess():
rst_a=sess.run(a)
rst_e,rst_v=sess.run([e,v])
5.操纵mnist数据集
import numpy as np
import tensorflow as tf
def startup():
print('hello')
z=tf.placeholder(shape=[3],dtype=tf.float32)
a_sigmoid=tf.nn.sigmoid(z)
a_relu=tf.nn.relu(z)
a_tanh=tf.nn.tanh(z)
z_in=np.array([1.0,-2.0,3.0])
with tf.Session() as sess:
sess.run(tf.initialize_local_variables())
rst_sigmoid=sess.run(a_sigmoid,feed_dict={z:z_in})
rst_relu=sess.run(a_relu,feed_dict={z:z_in})
rst_tanh=sess.run(a_tanh,feed_dict={z:z_in})
print('sigmiod:{0};\r\nrelu:{1};\r\ntanh:{2}'.format(rst_sigmoid,rst_relu,rst_tanh))
if'__main__'==__name__:
startup()
import sys
import numpy as np
import argparse
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from skimage import io
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
class Mnister:
def __init__(self):
pass
def learn_mnist(self):
mnist = input_data.read_data_sets('datasets',
one_hot=True)
X_train = mnist.train.images
y_train = mnist.train.labels
X_validation = mnist.validation.images
y_validation = mnist.validation.labels
X_test = mnist.test.images
y_test = mnist.test.labels
print('X_train: {0} y_train:{1}'.format(
X_train.shape, y_train.shape))
print('X_validation: {0} y_validation:{1}'.format(
X_validation.shape, y_validation.shape))
print('X_test: {0} y_test:{1}'.format(
X_test.shape, y_test.shape))
image_raw = (X_train[1] * 255).astype(int)
image = image_raw.reshape(28, 28)
label = y_train[1]
idx = 0
for item in label:
if 1 == item:
break
idx += 1
plt.title('digit:{0}'.format(idx))
plt.imshow(image, cmap='gray')
plt.show()
def main(_):
mnister = Mnister()
mnister.learn_mnist()
if '__main__' == __name__:
parser = argparse.ArgumentParser()
parser.add_argument('--data_dir', type=str, default='datasets',
help='Directory for storing input data')
FLAGS, unparsed = parser.parse_known_args()
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)