tensorflow

一.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)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值