首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能使用时序模型

不能使用时序模型
EN

Stack Overflow用户
提问于 2021-12-06 20:20:10
回答 1查看 184关注 0票数 0

这是代码:

代码语言:javascript
运行
复制
def point_wise_feed_forward_network(d_model, dff):
  return tf.keras.Sequential([
      tf.keras.layers.Dense(dff, activation='relu'),  # (batch_size, seq_len, dff)
      tf.keras.layers.Dense(d_model)  # (batch_size, seq_len, d_model)
  ])

我在phew类中使用它,并将其初始化为:

代码语言:javascript
运行
复制
class Foo(tf.keras.layers.Layer):
   def __init__(self, d_model, dff):
      super().__init__()
      self.net = point_wise_feed_forward_network(d_model, dff)
   ...
   
   def call(self, args):
      ... # getting prev_layer (which is a tf.keras.layers.LayerNormalization() layer)
      var = self.net(prev_layer)
      ...

主要输出错误是:

代码语言:javascript
运行
复制
ValueError: Weights for model decoder_sequential have not yet been created. Weights are created when the Model is first called on inputs or `build()` is called with an `input_shape`
代码语言:javascript
运行
复制
File "<ipython-input-314-94b9d1a33527>", line 25, in train_step  *
        gradients = tape.gradient(loss, transformer.trainable_variables)
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2308, in trainable_variables
        return self.trainable_weights
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\training.py", line 2104, in trainable_weights
        trainable_variables += trackable_obj.trainable_variables
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2308, in trainable_variables
        return self.trainable_weights
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 1357, in trainable_weights
        children_weights = self._gather_children_attribute('trainable_variables')
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2915, in _gather_children_attribute
        return list(
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2917, in <genexpr>
        getattr(layer, attribute) for layer in nested_layers))
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2308, in trainable_variables
        return self.trainable_weights
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 1357, in trainable_weights
        children_weights = self._gather_children_attribute('trainable_variables')
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2915, in _gather_children_attribute
        return list(
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2917, in <genexpr>
        getattr(layer, attribute) for layer in nested_layers))
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\base_layer.py", line 2308, in trainable_variables
        return self.trainable_weights
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\training.py", line 2099, in trainable_weights
        self._assert_weights_created()
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\sequential.py", line 471, in _assert_weights_created
        super(functional.Functional, self)._assert_weights_created()  # pylint: disable=bad-super-call
    File "C:\Users\User\anaconda3\envs\tfm2\lib\site-packages\keras\engine\training.py", line 2736, in _assert_weights_created
        raise ValueError(f'Weights for model {self.name} have not yet been '

所以,我在使用它的每个类中都初始化了它。为什么它说我没有创建模型?

PD:只有当我使用tf.GradientTape()时才会出现此错误

PDD:我正在学习这个Tensorflow教程

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-06 23:41:05

对于模型中的第一层,您需要传递输入形状,例如(224,224,3)

代码语言:javascript
运行
复制
tf.keras.layers.Dense(dff, activation='relu', input_shape=(224,224,3)

您还需要编译模型。

代码语言:javascript
运行
复制
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70251452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档