tensorflow学习笔记(3)------北京大学 曹健

基础函数

本次学习到以后可能会用到的基本函数

1. tf.where

# 1. tf.where()
import tensorflow as tf
a = tf.constant([1, 2, 3, 1, 1])
b = tf.constant([0, 1, 3, 4, 5])
c = tf.where(tf.greater(a, b), a, b)  # 若a>b(由greater函数充当这里的条件,
# greater就是比较它里面的元素,左边是否大于右边,是则返回1),返回a对应位置的元素,
# 否则返回b对应位置的元素
print("c:", c)

where函数返回一个张量,满足第一个参数(条件)就返回第二个参数的值,否则就返回第三个参数的值。
上述结果如下:
在这里插入图片描述

2. np.random.RandomState.rand()

np.random.RandomState.rand(维度) 默认为1,产生标量

# np.random.RandomState()  seed 保证随机因子一致,加不加无所谓
# np.random.RandomState.rand(维度)   默认为1,产生标量
rdm = np.random.RandomState(seed=1)
a = rdm.rand()
b = rdm.rand(2, 3)
print("a:", a)
print("b:", b)

3. np.vstack()

np.vstack(数组1, 数组2),作用:将两个数组垂直方向叠加

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.vstack((a, b))
print("c:\n", c)

结果:
tensorflow学习笔记(3)------北京大学 曹健_第1张图片

4. np.mgrid[]、x.ravel()、np.c_

import numpy as np
x, y = np.mgrid[1:3:1, 2:4:0.5]
grid = np.c_[x.ravel(), y.ravel()]
print("x:", x)
print("y:", y)
print("grid:\n", grid)

np.mgrid[]是构建网格的过程,其中1:3:1表示从1到3取步长为1,也就是1、2 这两个值(左闭右开)。2:4:0.5就是从2到4步长为0.5,也就是2、2.5、3、3.5四个数。经过该函数可以生成一个类似下图的网格,你可以使用一个变量承接这个函数,也可以像代码里那样用x、y两个变量承接。
tensorflow学习笔记(3)------北京大学 曹健_第2张图片
这个图是我画出来方便理解的,也就是说mgrid()函数第一个元素确立了x的两个值,而该函数的第二个元素确立了y轴的4个值,它们两两结合就可以生成8个点坐标。而该函数返回的值如果用一个未知数承接,是这样的:

y = np.mgrid[1:3:1, 2:4:0.5]

结果:
tensorflow学习笔记(3)------北京大学 曹健_第3张图片
这是个(3,4)维矩阵,如果用x,y一起接收这个函数,可以得到:

tensorflow学习笔记(3)------北京大学 曹健_第4张图片
也只是剥开了一层衣服。
#############################################

好,介绍下一个函数x.ravel()
该函数是将x矩阵拉伸为一维向量的过程。
np.c_函数是将其拼接的过程,将两个一维向量拼接坐标的形式。
tensorflow学习笔记(3)------北京大学 曹健_第5张图片
这三个函数一起使用就可以自己创建网格了。

你可能感兴趣的:(numpy,python)