Тензор потока одного канала к RGB дает ранг 0 - PullRequest
0 голосов
/ 27 сентября 2018

Я создаю многомерный массив.

import numpy as np
import tensorflow as tf

a = np.zeros((10, 4, 4, 1))

print(a.shape)

(10, 4, 4, 1)

Я хочу добавить каналы RGB, поэтому я делаю:

tf_a = tf.image.grayscale_to_rgb(a, name=None)
print(tf.rank(tf_a))

Tensor("Rank:0", shape=(), dtype=int32)

, и это дает мне тензор с рангом 0 вместо4.

Кроме того, форма:

print(tf.shape(tf_a))

дает: Tensor("Shape:0", shape=(4,), dtype=int32)

1 Ответ

0 голосов
/ 27 сентября 2018

В Tensorflow, tf.rank (tf_a) и tf.shape (tf_a) возвращают тензоры.Threore, вы печатаете форму и ранг этих тензоров, а не форму и ранг tf_a .

Поэтому я немного отредактировал ваш код, чтобы получить фактические результаты.

import numpy as np
import tensorflow as tf

a = np.zeros((10, 4, 4, 1))

tf_a = tf.image.grayscale_to_rgb(a, name=None)

sess = tf.Session()
with sess.as_default():

   print(tf.rank(tf_a).eval()) # rank 
   print(tf.shape(tf_a).eval()) #shape

 4            #rank
[10  4  4  3] #result

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...