I don't know much about Python to understand what is going on here. In this example, it looks like the object returned by Python is an array of arrays, which after conversion to R, returns a list of lists. However, based on how I'm doing it here, looks information contained in the Python array is not reflected in the R object.
### Attach/Load required packages
library(reticulate)
use_python("/anaconda/bin/python")
library(kerasR)
require(grid)
### load the dataset but only keep the top n words, zero the rest
mod <- new.env(parent=emptyenv())
mod$keras.datasets <- reticulate::import("keras.datasets", convert = FALSE)
mod$np <- reticulate::import("numpy")
int32 <- function(x) {
mod$np$int32(x)
}
load_imdb2 <- function(num_words = NULL, skip_top = 0, maxlen = NULL, seed = 113,
start_char = 1, oov_char = 2, index_from = 3) {
z <- mod$keras.datasets$imdb$load_data(path="imdb_full.pkl",
num_words = num_words,
skip_top = int32(skip_top),
maxlen = maxlen,
seed = int32(seed),
start_char = int32(start_char),
oov_char = int32(oov_char),
index_from = int32(index_from))
z
}
imdb2 <- load_imdb2(num_words = 5000)
imdb2_r <- py_to_r(imdb2)
imdb2
((array([ [1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458, 4468, 66, 3941, 4, 173, 36, 256, 5, 25, 100, 43, 838, 112, 50, 670, 2, 9, 35, 480, 284, 5, 150, 4, 172, 112, 167, 2, 336, 385, 39, 4, 172, 4536, 1111, 17, 546, 38, 13, 447, 4, 192, 50, 16, 6, 147, 2025, 19, 14, 22, 4, 1920, 4613, 469, 4, 22, 71, 87, 12, 16, 43, 530, 38, 76, 15, 13, 1247, 4, 22, 17, 515, 17, 12, 16, 626, 18, 2, 5, 62, 386, 12, 8, 316, 8, 106, 5, 4, 2223, 2, 16, 480, 66, 3785, 33, 4, 130, 12, 16, 38, 619, 5, 25, 124, 51, 36, 135, 48, 25, 1415, 33, 6, 22, 12, 215, 28, 77, 52, 5, 14, 407, 16, 82, 2, 8, 4, 107, 117, 2, 15, 256, 4, 2, 7, 3766, 5, 723, 36, 71, 43, 530, 476, 26, 400, 317, 46, 7, 4, 2, 1029, 13, 104, 88, 4, 381, 15, 297, 98, 32, 2071, 56, 26, 141, 6, 194, 2, 18, 4, 226, 22, 21, 134, 476, 26, 480, 5, 144, 30, 2, 18, 51, 36, 28, 224, 92, 25, 104, 4, 226, 65, 16, 38, 1334, 88, 12, 16, 283, 5, 16, 4472, 113, 103, 32, 15, 16, 2, 19, 178, 32],
[1, 194, 1153, 194, 2, 78, 228, 5, 6, 1463, 4369, 2, 134, 26, 4, 715, 8, 118, 1634, 14, 394, 20, 13, 119, 954, 189, 102, 5, 207, 110, 3103, 21, 14, 69, 188, 8, 30, 23, 7, 4, 249, 126, 93, 4, 114, 9, 2300, 1523, 5, 647, 4, 116, 9, 35, 2, 4, 229, 9, 340, 1322, 4, 118, 9, 4, 130, 4901, 19, 4, 1002, 5, 89, 29, 952, 46, 37, 4, 455, 9, 45, 43, 38, 1543, 1905, 398, 4, 1649, 26, 2, 5, 163, 11, 3215, 2, 4, 1153, 9, 194, 775, 7, 2, 2, 349, 2637, 148, 605, 2, 2, 15, 123, 125, 68, 2, 2, 15, 349, 165, 4362, 98, 5, 4, 228, 9, 43, 2, 1157, 15, 299, 120, 5, 120, 174, 11, 220, 175, 136, 50, 9, 4373, 228, 2, 5, 2, 656, 245, 2350, 5, 4, 2, 131, 152, 491, 18, 2, 32, 2, 1212, 14, 9, 6, 371, 78, 22, 625, 64, 1382, 9, 8, 168, 145, 23, 4, 1690, 15, 16, 4, 1355, 5, 28, 6, 52, 154, 462, 33, 89, 78, 285, 16, 145, 95], ...
Now, if you look inside imdb2_r
, it is a list of lists only containing 0/1's (none of the numbers above are reflected in this object as far as I see.
Thanks,
A.