R 中 keras layer_dense的稀疏矩阵输入

Sparse matrix inputs to keras layer_dense in R

提问人:zdebruine 提问时间:11/10/2023 最后编辑:zdebruine 更新时间:11/16/2023 访问量:115

问:

编辑:也对可能性持开放态度。torch for R

使用 keras R API 时,如何将 R 中 a 中的列作为输入提供给 a?dgCMatrixlayer_dense

我的数据太大,无法考虑将其从稀疏强制转换为密集,并且将小块强制为密集以进行小批量更新的效率太低。

最小可重现示例:

library(Matrix)
library(keras)
library(reticulate)
library(magrittr)

inputs <- rsparsematrix(10000, 1000, 0.1)
targets <- keras::to_categorical(sample(0:9, 1000, replace = T), num_classes = 10)

model <- keras_model_sequential() %>%
  layer_dense(units = 100, activation = "relu", input_shape = nrow(inputs)) %>%
  layer_dense(units = 50, activation = "relu") %>%
  layer_dense(units = ncol(targets), activation = "softmax")

compile(model,
        loss = "categorical_crossentropy",
        optimizer = optimizer_adam(),
        metrics = c("accuracy"))

fit(model, t(as.matrix(inputs)), targets, epochs = 10, batch_size = 32)
R 机器学习 Keras 稀疏矩阵

评论


答: 暂无答案