Julia Flux, изображения с разными размерами в нейронной сети - PullRequest
3 голосов
/ 11 марта 2019

Я хотел бы узнать, заражена ли клетка малярией или нет (https://www.kaggle.com/iarunava/cell-images-for-detecting-malaria). Но размер изображения различен, поэтому я хочу изменить размер каждого изображения до того же размера, чтобы использовать мой первый слой(имеет статический размер)

Как я могу изменить размер изображения в Юлии? Или я могу просто использовать Flux, чтобы иметь возможность вычислять изображение другого размера?

1 Ответ

5 голосов
/ 11 марта 2019

Вы можете сделать это с пакетами Images и ImageMagick (необходимо установить оба), а затем:

using Images
download("https://juliaimages.org/latest/assets/logo.png","test.png");
img = Images.load("test.png");
size(img) # outputs (128, 128)
img2 = imresize(img,(50,50));
Images.save("test2.png",img2);

Файл test2.png имеет размер 50x50.Более подробную информацию о imsize можно получить по адресу:

https://juliaimages.org/latest/function_reference.html#Spatial-transformations-and-resizing-1

Эту операцию вы должны выполнить заранее (т. Е. Вне Flux.jl), потому что в противном случае интерполяция должна быть выполнена вкаждый раз, когда вы вычисляете градиент.

Пакет Interpolations также позволит вам изменять размеры изображений.Затем вы должны были бы интерполировать красный, зеленый, синий каналы по отдельности.

Для конкретных изображений задачи «kaggle» добавление данных с черными пикселями к общему размеру также было бы возможным.

...