Объект 'Tensor' не имеет атрибута _keras_shape - PullRequest
0 голосов
/ 11 июля 2019

AttributeError: у объекта 'Tensor' нет атрибута '_keras_shape'

Я пытаюсь запустить эту модель, но я получаю эту ошибку, основанную на этой ошибке:

  File "C:\ProgramData\Anaconda3\envs\py35\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "C:\ProgramData\Anaconda3\envs\py35\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/hendy/Documents/All/LHP_Modell_Control/Validate_Closed_Loop_Controller.py", line 18, in <module>
    model = Model_object.structure(nn, depth, 32,inputs)

  File "C:\Users\hendy\Documents\All\LHP_Modell_Control\Model_LHP_stateful.py", line 52, in structure
    model = Model(inputs=[inp_ext, y_refeed, h_ext, c_ext], outputs=[out, h_out, c_out])

  File "C:\ProgramData\Anaconda3\envs\py35\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)

  File "C:\ProgramData\Anaconda3\envs\py35\lib\site-packages\keras\engine\network.py", line 93, in __init__
    self._init_graph_network(*args, **kwargs)



    File "C:\ProgramData\Anaconda3\envs\py35\lib\site-packages\keras\engine\network.py", line 247, in _init_graph_network
        input_shapes=[x._keras_shape for x in self.inputs],

      File "C:\ProgramData\Anaconda3\envs\py35\lib\site-packages\keras\engine\network.py", line 247, in <listcomp>
        input_shapes=[x._keras_shape for x in self.inputs],

    AttributeError: 'Tensor' object has no attribute '_keras_shape'`enter code here`

Iпопытался также обновить через:

pip3 install --upgrade tensorflow-gpu
and updated keras to 2.2.4

pip install Keras==2.2.4

Я знаю, что мы можем использовать два вида Keras в нашем коде.Пакет Keras или просто используйте tf.keras.В этом коде я использовал пакет Keras, т.е. старался не смешивать!как вы видите в коде

import pandas as pds
import numpy as np
from keras.models import Model

from keras.layers import Input
from keras.layers import Dense
from keras.layers import add

from recurrentshop import LSTMCell
from recurrentshop import RecurrentModel


 def structure(self, node_number, depth, batch_shape, inputs):
        timesteps = self.timesteps
        inp_ext = Input(shape=(timesteps, inputs))
        y_refeed = Input(shape=(timesteps, inputs))
        h_ext = Input(shape=(inputs,))
        c_ext = Input(shape=(inputs,))

        inp = Input(batch_shape=(batch_shape, inputs))
        readout_input = Input(batch_shape=(batch_shape, inputs))
        h_tm1 = Input(batch_shape=(batch_shape, inputs))
        c_tm1 = Input(batch_shape=(batch_shape, inputs))


        lstms_input = add([inp, readout_input])

        cells = [LSTMCell(node_number) for _ in range(depth)]
        lstms_output = Dense(node_number)(lstms_input)
        h = Dense(node_number)(h_tm1)
        c = Dense(node_number)(c_tm1)
        for cell in cells:
            lstms_output, h, c = cell([lstms_output, h, c])

        lstms_output = Dense(inputs)(lstms_output)
        h = Dense(inputs)(h)
        c = Dense(inputs)(c)

        y = lstms_output

        rnn = RecurrentModel(input=inp, initial_states=[h_tm1, c_tm1], output=y, final_states=[h, c], readout_input=readout_input, return_sequences=True, return_states=True, name="RecurrentModel")
        out, h_out, c_out = rnn(inp_ext, ground_truth=y_refeed, initial_state=[h_ext, c_ext])
        model = Model(inputs=[inp_ext, y_refeed, h_ext, c_ext], outputs=[out, h_out, c_out])
        return model
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...