1. 程式人生 > >tf.shape()和tf.reshape()

tf.shape()和tf.reshape()

一、tf.shape()

tf.shape(input,name=None,out_type=tf.int32)

引數

(1)input:輸入張量或稀疏張量;

(2)name:命名;

(3)out_type:預設tf.int32型別;

輸出

返回out_type型別張量。

例子:將矩陣的維度輸出成一個維度的矩陣

import tensorflow as tf
import numpy as np

A = np.array([[[1, 1, 1],
               [2, 2, 2]],
              [[3, 3, 3],
               [4, 4, 4]],
              [[5, 5, 5],
               [6, 6, 6]]])
t = tf.shape(A)
with tf.Session() as sess:
    print(sess.run(t))

import tensorflow as tf
import numpy as np

A = np.array([[[1, 1],
               [2, 2]],
              [[3, 3],
               [4, 4]]])
t = tf.shape(A)
with tf.Session() as sess:
    print(sess.run(t))

二、tf.reshape()

tf.reshape(tensor,shape,name=None)

引數

(1)tensor:輸入張量;

(2)shape:列表形式,可以存在-1;

        -1代表的含義是不用我們自己指定這一維的大小,函式會自動計算,但列表中只能存在一個-1;

(3)name:命名;

輸出

將tensor變換為引數shape的形式。

例子

import numpy as np
a= np.array([0,1,2,3,4,5,6,7])
print('a=',a)

b = a.reshape((2,4))
print('b=',b)

c = a.reshape((2,2,2))
print('c=',c)