Python 将int64输入到keras,并仅使用int64处理数据

Python 将int64输入到keras,并仅使用int64处理数据,python,machine-learning,keras,precision,int64,Python,Machine Learning,Keras,Precision,Int64,您好,我想将我的数据作为int64提供给keras,我希望keras将其作为int64处理并作为int64输出。我不想让任何人参与这个过程。对于我的应用程序来说,float64一点也不精确。 我想你可能会注意到我的代码不太好,因为我以前没有编写机器学习程序,所以如果需要,请纠正我以改进我的代码。密集层仅适用于浮点数。唯一的方法是从头开始创建自定义图层。我认为不可能使用int64权重有效地反向传播渐变,因为最小值和最大值之间的差异很小 exData = pd.read_csv('AP11.csv'

您好,我想将我的数据作为int64提供给keras,我希望keras将其作为int64处理并作为int64输出。我不想让任何人参与这个过程。对于我的应用程序来说,float64一点也不精确。
我想你可能会注意到我的代码不太好,因为我以前没有编写机器学习程序,所以如果需要,请纠正我以改进我的代码。

密集层仅适用于浮点数。唯一的方法是从头开始创建自定义图层。我认为不可能使用int64权重有效地反向传播渐变,因为最小值和最大值之间的差异很小

exData = pd.read_csv('AP11.csv',delimiter=';',float_precision=None)
pd.set_option('display.max_colwidth', None )

x = exData.loc[:,['A','B']]
y = exData.loc[:,['C']]

    
x=x.astype('int64')
y=y.astype('int64')



opt = Adam(lr=0.001, decay=1e-6)
model = keras.Sequential([
keras.layers.Dense(2, input_dim=2, activation=keras.activations.sigmoid ),
keras.layers.Dense(1, activation=keras.activations.relu ),
])

model.compile(optimizer=opt, loss="categorical_crossentropy", metrics=model.compile(optimizer=opt, loss="categorical_crossentropy", metrics=['accuracy']))
model.fit(x,y, batch_size=64, epochs=100)