AttributeError: у объекта 'Tensor' нет атрибута 'numpy' - PullRequest
0 голосов
/ 16 сентября 2018

Как я могу исправить эту ошибку? Я скачал этот код с GitHub.

predicted_id = tf.multinomial(tf.exp(predictions), num_samples=1)[0][0].numpy()

выдает ошибку

AttributeError: 'Tensor' object has no attribute 'numpy'

Пожалуйста, помогите мне исправить это!

Iиспользуется:

sess = tf.Session()
    with sess.as_default():
       predicted_id = tf.multinomial(tf.exp(predictions), num_samples=1)[0][0].eval()

И я получаю эту ошибку.Кто-то, помогите мне, я просто хочу, чтобы это сработало, почему это так сложно?

D:\Python>python TextGenOut.py
  File "TextGenOut.py", line 72
    predicted_id = tf.multinomial(tf.exp(predictions), num_samples=1)[0][0].eval()
    ^
IndentationError: unexpected indent

D:\Python>python TextGenOut.py
2018-09-16 21:50:57.008663: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-09-16 21:50:57.272973: W T:\src\github\tensorflow\tensorflow\core\framework\op_kernel.cc:1275] OP_REQUIRES failed at resource_variable_ops.cc:480 : Not found: Container localhost does not exist. (Could not find resource: localhost/model/embedding/embeddings)
Traceback (most recent call last):
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\client\session.py", line 1278, in _do_call
    return fn(*args)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\client\session.py", line 1263, in _run_fn
    options, feed_dict, fetch_list, target_list, run_metadata)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\client\session.py", line 1350, in _call_tf_sessionrun
    run_metadata)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable model/dense/kernel from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/model/dense/kernel)
         [[Node: model/dense/MatMul/ReadVariableOp = ReadVariableOp[dtype=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](model/dense/kernel)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "TextGenOut.py", line 72, in <module>
    predicted_id = tf.multinomial(tf.exp(predictions), num_samples=1)[0][0].eval()
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\ops.py", line 680, in eval
    return _eval_using_default_session(self, feed_dict, self.graph, session)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\ops.py", line 4951, in _eval_using_default_session
    return session.run(tensors, feed_dict)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\client\session.py", line 877, in run
    run_metadata_ptr)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\client\session.py", line 1100, in _run
    feed_dict_tensor, options, run_metadata)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\client\session.py", line 1272, in _do_run
    run_metadata)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\client\session.py", line 1291, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable model/dense/kernel from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/model/dense/kernel)
         [[Node: model/dense/MatMul/ReadVariableOp = ReadVariableOp[dtype=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](model/dense/kernel)]]

Caused by op 'model/dense/MatMul/ReadVariableOp', defined at:
  File "TextGenOut.py", line 66, in <module>
    predictions, hidden = model(input_eval, hidden)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\keras\engine\base_layer.py", line 736, in __call__
    outputs = self.call(inputs, *args, **kwargs)
  File "TextGenOut.py", line 39, in call
    x = self.fc(output)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\keras\engine\base_layer.py", line 736, in __call__
    outputs = self.call(inputs, *args, **kwargs)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\keras\layers\core.py", line 943, in call
    outputs = gen_math_ops.mat_mul(inputs, self.kernel)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\ops\gen_math_ops.py", line 4750, in mat_mul
    name=name)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\op_def_library.py", line 510, in _apply_op_helper
    preferred_dtype=default_dtype)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\ops.py", line 1094, in internal_convert_to_tensor
    ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 1045, in _dense_var_to_tensor
    return var._dense_var_to_tensor(dtype=dtype, name=name, as_ref=as_ref)  # pylint: disable=protected-access
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 1000, in _dense_var_to_tensor
    return self.value()
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 662, in value
    return self._read_variable_op()
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 745, in _read_variable_op
    self._dtype)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\ops\gen_resource_variable_ops.py", line 562, in read_variable_op
    "ReadVariableOp", resource=resource, dtype=dtype, name=name)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\util\deprecation.py", line 454, in new_func
    return func(*args, **kwargs)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\ops.py", line 3155, in create_op
    op_def=op_def)
  File "C:\Users\fried\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\ops.py", line 1717, in __init__
    self._traceback = tf_stack.extract_stack()

FailedPreconditionError (see above for traceback): Error while reading resource variable model/dense/kernel from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/model/dense/kernel)
         [[Node: model/dense/MatMul/ReadVariableOp = ReadVariableOp[dtype=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](model/dense/kernel)]]

Какой-то текст, потому что мой пост в основном состоит из кода, но мне не на что писать adad tsf sfsf text text text человек, которого я люблю Python (нет) adada da dw, да ладно, это довольно много текста, почему вы меня теряете stackoverflow, я ненавижу это.Спасибо.Всем большое спасибо.Извините, что заставил вас ждать;сложный бизнес;сложно.Большое спасибо.

Мне только что позвонил секретарь Клинтон.Она поздравила нас, это о нас, о нашей победе, и я поздравил ее и ее семью на очень, очень упорной кампании.Я имею в виду, она боролась очень тяжело.Хиллари работала очень долго и очень усердно в течение длительного периода времени, и мы должны выразить ей огромную благодарность за ее службу нашей стране.Я имею в виду это очень искренне.

Теперь для Америки пришло время связать раны разделения, должны собраться вместе.Я говорю всем республиканцам, демократам и независимым представителям всей страны, что настало время объединиться в единый народ.Пора.Я обещаю каждому гражданину нашей страны, что я буду президентом для всех американцев, и это так важно для меня.

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

Как я уже говорил с самого начала, наша была не кампанией, а скорееневероятное и великое движение, состоящее из миллионов трудолюбивых мужчин и женщин, которые любят свою страну и хотят лучшего, более светлого будущего для себя и для своих семей.Это движение состоит из американцев всех рас, религий, происхождения и убеждений, которые хотят и ожидают, что наше правительство будет служить народу - и служить людям, оно будет

Ответы [ 2 ]

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

Я подозреваю, что в том месте, откуда вы скопировали код, было включено активное выполнение , то есть было вызвано tf.enable_eager_execution() в начале программы.

Ты мог бы сделать то же самое. Надеюсь, это поможет.

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

tf.multinomial возвращает объект Tensor, который содержит 2D-список с нарисованными образцами формы [batch_size, num_samples].Ожидается, что при вызове .eval() для этого тензорного объекта будет возвращен недействительный символ ndarray.

Примерно так:

predicted_id = tf.multinomial(tf.exp(predictions), num_samples=1)[0][0].eval()

Вы также должны убедиться, что сеанс активен (нев противном случае имеет смысл):

sess = tf.Session()
with sess.as_default():
    predicted_id = tf.multinomial(tf.exp(predictions), num_samples=1)[0][0].eval()
...