python函数记录

碰到一个记一个,全是抄别人的,没有参考价值


numpy中的zeros(),ones()

# 创建标签
    valid = np.ones((batch_size, 1))
    fake = np.zeros((batch_size, 1))

numpy中的zeros(),ones()这两个函数用法很相似。

zeros()返回一个全0的n维数组,一共有三个参数:shape(用来指定返回数组的大小)、dtype(数组元素的类型)、order(是否以内存中的C或Fortran连续(行或列)顺序存储多维数据)。后两个参数都是可选的,一般只需设定第一个参数。

Examples:

>>> np.zeros(5)
array([ 0.,  0.,  0.,  0.,  0.])

>>> np.zeros((5,), dtype=np.int)
array([0, 0, 0, 0, 0])

>>> np.zeros((2, 1))
array([[ 0.],
       [ 0.]])

>>> s = (2,2)
>>> np.zeros(s)
array([[ 0.,  0.],
       [ 0.,  0.]])

>>> np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) # custom dtype
array([(0, 0), (0, 0)],
      dtype=[('x', '

ones()返回一个全1的n维数组,同样也有三个参数:shape(用来指定返回数组的大小)、dtype(数组元素的类型)、order(是否以内存中的C或Fortran连续(行或列)顺序存储多维数据)。后两个参数都是可选的,一般只需设定第一个参数。和zeros一样

Examples:

>>> np.ones(5)
array([ 1.,  1.,  1.,  1.,  1.])

>>> np.ones((5,), dtype=np.int)
array([1, 1, 1, 1, 1])

>>> np.ones((2, 1))
array([[ 1.],
       [ 1.]])

>>> s = (2,2)
>>> np.ones(s)
array([[ 1.,  1.],
       [ 1.,  1.]])


np.random.randint()详解

#   随机选取batch_size个图片
    idx = np.random.randint(0, X_train.shape[0], batch_size)
    imgs = X_train[idx]
numpy.random.randint(low, high=None, size=None, dtype='l')

函数的作用是,返回一个随机整型数,范围从低(包括)到高(不包括),即[low, high)。
如果没有写参数high的值,则返回[0,low)的值。

参数如下:

  • low: int

生成的数值最低要大于等于low。
(hign = None时,生成的数值要在[0, low)区间内)

  • high: int (可选)

如果使用这个值,则生成的数值在[low, high)区间。

  • size: int or tuple of ints(可选)

输出随机数的尺寸,比如size = (m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。

  • dtype: dtype(可选):

想要输出的格式。如int64、int等等
输出:

out: int or ndarray of ints
返回一个随机数或随机数数组

Examples:

>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
       [3, 2, 2, 0]])

>>>np.random.randint(2, high=10, size=(2,3))
array([[6, 8, 7],
       [2, 5, 2]])

tf.transpose(a, perm = None, name =‘transpose’)


解释
      将a进行转置,并且根据perm参数重新排列输出维度。这是对数据的维度的进行操作的函数。
Details

  • 图像处理时数据集中存储数据的形式为[channel,image_height,image_width],在tensorflow中使用CNN时我们需要将其转化为[image_height,image_width,channel]的形式,只需要使用tf.transpose(input_data,[1,2,0])
  • 输出数据tensor的第i维将根据perm[i]指定。比如,如果perm没有给定,那么默认是perm = [n-1, n-2, …, 0],其中rank(a) = n。
  • 默认情况下,对于二维输入数据,其实就是常规的矩阵转置操作。

你可能感兴趣的:(python)