'torch.Size' object has no attribute 'rank'

'torch.Size' object has no attribute 'rank'


self.feature_extractor = Sequential([
                # 第一层
                Conv1D(filters=32, kernel_size=20, strides=8, padding='same', kernel_regularizer=l2(1e-4),
                       input_shape=input_shape),
                BatchNormalization(),
                Activation('relu'),
                MaxPooling1D(pool_size=4, strides=4, padding='valid'),
                # 第二层
                Conv1D(filters=64, kernel_size=5, strides=2, padding='same', kernel_regularizer=l2(1e-4)),
                BatchNormalization(),
                Activation('relu'),
                MaxPooling1D(pool_size=2, strides=2, padding='valid'),
            ])
def return_latent_variables(self, x_domain):

        latent_variable = self.feature_extractor(x_domain,training = False)

        return latent_variable

使用的是tensorflow环境
但在运行是会报pytorch的错误

该回答引用GPTᴼᴾᴱᴺᴬᴵ
根据错误提示信息,报错是由于 torch.Size 没有 rank 属性,这说明在代码中有关于 PyTorch 的相关代码,并且可能导致了该错误。
-
根据你提供的代码,可以看出并没有直接涉及到 PyTorch 的部分,但是在 return_latent_variables 方法中,调用了 self.feature_extractor(x_domain,training = False) 方法,其中 self.feature_extractor 似乎是 PyTorch 的相关代码。
-
建议你检查一下代码是否存在与 PyTorch 相关的代码,如果有,则需要修改或者移除这部分代码。如果没有,则可能是代码中其他部分与 PyTorch 发生了冲突,需要进一步检查和排查。