"Управляя мечтами" в TensorFlow
Я пытаюсь повторно реализовать "контроль снов" с помощью TensorFlow, который был реализован в оригинальном алгоритме Google Deepdreams с использованием Caffe (см. Последнюю часть https://github.com/google/deepdream/blob/master/dream.ipynb), Но я думаю, что у меня есть проблемы. Эта часть "управления мечтами" не существует в учебном пособии TensorFlow (см. https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/deepdream/deepdream.ipynb). Я ищу кого-то, кто знает Кафе и глубокий сон, чтобы помочь.
Я никогда не использовал Caffe прежде, но я пытался понять, что они делали в сценарии. Чтобы "контролировать сон", они сначала вводят небольшое изображение гида (примерно 240 x 240) в нейронную сеть и извлекают элементы в каждом канале в определенном указанном слое. Эти функции называются "функциями гида". Затем они вводят большое изображение, которое они хотят изменить, в модель. Большое изображение было "октавным". Для каждого октавного изображения они вводят октавное изображение в нейронную сеть, извлекают элементы в каждом канале в том же слое, который указан для направляющего изображения. Затем они должны найти лучшее соответствие направляющих элементов определенного канала каждому из элементов в слое октавного изображения. Здесь "наилучшее соответствие" означает, что скалярное произведение двух векторов признаков является наибольшим.
Здесь возникает вопрос. Они извлекают особенности руководства заранее. Поэтому форма матрицы "направляющих элементов" постоянна. Но форма матрицы элементов в октаве может варьироваться. Это означает, что я не могу рассчитать скалярное произведение этих двух матриц. Я считаю, что я не правильно понял их алгоритм. Я хотел бы, чтобы кто-то объяснил мне или дал мне ссылку. Спасибо.
Лучший,
лей