Комплексные числа ValueError: Попытка преобразовать значение с неподдерживаемым типом в Tensor - PullRequest
0 голосов
/ 04 октября 2019

Я использовал тензор потока 1 для создания комплексных нейронных сетей и был в порядке. Однако я не делал этого в активном режиме, и теперь tenorflow 2 действует мне на нервы. По-видимому, теперь все в керасе, поэтому я попытался реализовать такой слой:

from tensorflow.keras import layers
import tensorflow as tf


class Linear(layers.Layer):

  def __init__(self, units=32, input_dim=32):
    super(Linear, self).__init__()
    w_init = tf.complex(tf.random_normal_initializer(), tf.random_normal_initializer())
    self.w = tf.Variable(initial_value=w_init(shape=(input_dim, units)),
                         trainable=True, dtype=tf.complex64)

  def call(self, inputs):
    return tf.abs(tf.matmul(inputs, self.w))

x = tf.complex(tf.ones((2, 2)), tf.ones((2, 2)))
linear_layer = Linear(4, 2)
y = linear_layer(x)
print(y)

Однако я получаю сообщение об ошибке:

ValueError: Attempt to convert a value (<tensorflow.python.ops.init_ops_v2.RandomNormal object at 0x7f64daf8ad90>) with an unsupported type (<class 'tensorflow.python.ops.init_ops_v2.RandomNormal'>) to a Tensor.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...