#r #tensorflow #keras
#r #тензорный поток #keras
Вопрос:
У меня есть данные MNIST и я выполняю некоторые преобразования, используя Tensorflow и keras в R
dim(train_images) <- c(nrow(train_images), 28,28,1)
dim(test_images) <- c(nrow(test_images), 28,28,1)
train_images <- tf$image$grayscale_to_rgb(tf$convert_to_tensor(train_images))
test_images <- tf$image$grayscale_to_rgb(tf$convert_to_tensor(test_images))
Теперь форма данных: 60000,28,28,3
Но мне нужны данные в форме: 60000,32,32,3
train_images <- tf$image$resize(train_images, c(32,32))
test_images <- tf$image$resize(test_images, c(32,32))
Это приводит к ошибке:
Error in py_call_impl(callable, dots$args, dots$keywords): ValueError: 'size' must be a 1-D int32 Tensor
Detailed traceback:
File "/usr/local/share/.virtualenvs/r-reticulate/lib/python3.7/site- packages/tensorflow/python/util/dispatch.py", line 201, in wrapper
return target(*args, **kwargs)
File "/usr/local/share/.virtualenvs/r-reticulate/lib/python3.7/site- packages/tensorflow/python/ops/image_ops_impl.py", line 1546, in resize_images_v2
skip_resize_if_same=False)
File "/usr/local/share/.virtualenvs/r-reticulate/lib/python3.7/site-packages/tensorflow/python/ops/image_ops_impl.py", line 1226, in _resize_images_common
raise ValueError(''size' must be a 1-D int32 Tensor')
Traceback:
1. tf$image$resize(train_images, c(32, 32))
2. py_call_impl(callable, dots$args, dots$keywords)
Ответ №1:
Просто напишите вместо:
train_images <- tf$image$resize(train_images, c(32L,32L))
test_images <- tf$image$resize(test_images, c(32L,32L))
Комментарии:
1.Не могли бы вы объяснить, что
32
это изmode
"double"
и32L
из режима"integer"
?