Python 属性错误:';浮动';对象没有属性';数据类型';

Python 属性错误:';浮动';对象没有属性';数据类型';,python,numpy,keras,Python,Numpy,Keras,当我尝试在keras(2.2.5)中使用自定义激活函数时,我创建了一个新的激活函数gelu。 将其添加到activations.py中: from . import backend as K import numpy as np def gelu(x): return 0.5 * x * (1 + K.tanh(K.sqrt(2 / np.pi) * (x + 0.044715 * K.pow(x, 3)))) 在my main.py中使用它: cnn1 = Conv1D(fi

当我尝试在keras(2.2.5)中使用自定义激活函数时,我创建了一个新的激活函数gelu。 将其添加到activations.py中:

from . import backend as K    
import numpy as np
def gelu(x):
    return 0.5 * x * (1 + K.tanh(K.sqrt(2 / np.pi) * (x + 0.044715 * K.pow(x, 3))))
在my main.py中使用它:

cnn1 = Conv1D(filters=256, kernel_size=2, strides=1, padding="same")(gru_output)
cnn1 = Activation('gelu')(cnn1)
但我在使用它时遇到了一个错误:

File "C:/Users/user/Desktop/my/my_main.py", line 253, in <module>
    cnn1 = Activation('gelu')(cnn1)
  File "C:\Users\user\Desktop/my\venv\lib\site-packages\keras\engine\base_layer.py", line 451, in __call__
    output = self.call(inputs, **kwargs)
  File "C:\Users\user\Desktop\my\venv\lib\site-packages\keras\layers\core.py", line 300, in call
    return self.activation(inputs)
  File "C:\Users\user\Desktop\my\venv\lib\site-packages\keras\activations.py", line 16, in gelu
    return 0.5 * x * (1 + K.tanh(K.sqrt(2 / np.pi) * (x + 0.044715 * K.pow(x, 3))))
  File "C:\Users\user\Desktop\my\venv\lib\site-packages\keras\backend\tensorflow_backend.py", line 1675, in sqrt
    zero = _to_tensor(0., x.dtype.base_dtype)
AttributeError: 'float' object has no attribute 'dtype'
文件“C:/Users/user/Desktop/my/my_main.py”,第253行,在
cnn1=激活(“凝胶”)(cnn1)
文件“C:\Users\user\Desktop/my\venv\lib\site packages\keras\engine\base\u layer.py”,第451行,在调用中__
输出=自调用(输入,**kwargs)
文件“C:\Users\user\Desktop\my\venv\lib\site packages\keras\layers\core.py”,第300行,在调用中
返回自激活(输入)
gelu中的文件“C:\Users\user\Desktop\my\venv\lib\site packages\keras\activations.py”,第16行
返回0.5*x*(1+K.tanh(K.sqrt(2/np.pi)*(x+0.044715*K.pow(x,3)))
sqrt中的文件“C:\Users\user\Desktop\my\venv\lib\site packages\keras\backend\tensorflow\u backend.py”,第1675行
零=_到_张量(0,x.dtype.base_dtype)
AttributeError:“float”对象没有属性“dtype”

那么我该怎么办呢?

TF Keras包中已经提供了GELU。我知道,但是我的tensorflow版本只有1.13.1,这个版本不能直接使用gelu