Ошибка Tensorflow: как сделать тензор A тем же графом, что и Tensor B - PullRequest
1 голос
/ 06 июня 2019

Я пытаюсь использовать faceswap в Google Colab, чтобы поменять лица в 2 видео, следуя инструкциям в этом репозитории GitHub .Однако, когда я начал обучать модель, я получил следующее сообщение об ошибке:

Tensor ("conv2d_9 / kernel: 0", shape = (5, 5, 3, 128), dtype = float32_ref) должен быть из того же графика, что и Tensor ("face: 0", shape = (?, 64, 64, 3), dtype = float32).

Я подозреваю, что изображения лиц яиспользование проблемы.Тем не менее, я использовал функцию извлечения, которая идет с репо, так что все должно быть в порядке?Это, кажется, не является общей проблемой, поэтому я полагаю, что это моя проблема.Судя по журналу, модель (_base.py) не может получить input_shape.Но я не уверен почему.Вот полный Отчет о сбое .

Я точно следую инструкциям в файле GitHub USAGE.md .Только изменил адреса папок на мои собственные.

Командная строка:

faceswap.py train -A /content/drive/My Drive/Colab Projects/Trump_faces -B /content/drive/My Drive/Colab Projects/Alan_faces -m /content/drive/My Drive/Colab 

Пример тренировочного образа: Лицо A Лицо B

Мой код был чрезвычайно прост, так как я сам не писал учебную модель.Я заглянул в файл _base.py, original.py, train.py и не был уверен, в чем проблема (мне кажется, что input_shape не был передан модели, но я не уверен, что это так и не уверенкак я могу это исправить).

from google.colab import drive
drive.mount('/content/drive', force_remount = True)
!git clone https://github.com/deepfakes/faceswap.git
% cd '/content/drive/My Drive/Colab Projects'
% cd '/content/drive/My Drive/Colab Projects/faceswap'
!pip install folium==0.2.1
!pip install imgaug==0.2.5
!python setup.py
!python faceswap.py extract -i '/content/drive/My Drive/Colab Projects/Trump_images' -o '/content/drive/My Drive/Colab Projects/Trump_faces'
!python faceswap.py extract -i '/content/drive/My Drive/Colab Projects/Another_images' -o '/content/drive/My Drive/Colab Projects/Another_faces'
!python faceswap.py train -A 'Trump_faces' -B 'Another_faces' -m 'Face_Swap_Model' -p

1 Ответ

0 голосов
/ 06 июня 2019

Не зная больше, трудно сказать, почему именно вы получаете эту ошибку.Я предполагаю, что пользователь use написал несколько дополнительных вещей для загрузки ваших данных, и это оказалось не на том графике.Например, приведенный ниже фрагмент сгенерирует ту же ошибку:

import tensorflow as tf

first_graph = tf.Graph()

# add tensor a to graph first_graph
with first_graph.as_default():
    a = tf.constant([1])

# puts b on default_graph, seperate from the first_graph
b = tf.constant([2])

# error! cannot do anything together as they belong to different graphs
c = a*b

Полагаю, вы создали несколько тензоров, например a, и пытаетесь использовать их с предоставленными тензорами b.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...