python tensorflow caffe

python - FCN en la capa de cultivo faltante de TensorFlow



caffe (2)

Gracias al consejo de @ 24 horas, he encontrado una respuesta a las 3 preguntas. Desafortunadamente, la FCN de tamaño arbitrario en tensorflow es un poco más complicada que en caffe, pero ojalá también lo resuelva pronto.

1) se puede usar tf.nn.conv2d_transpose .

2) La capa de output_size no es necesaria, en su tf.nn.conv2d_transpose se puede usar el output_size de output_size de la capa tf.nn.conv2d_transpose .

3) Al final he usado tf.nn.sparse_softmax_cross_entropy_with_logits

Actualmente estoy tratando de implementar FCN para la segmentación semántica en TensorFlow como se hizo anteriormente en Caffe aquí .

Desafortunadamente estoy luchando con seguir 3 cosas:

1) ¿Cómo mapear la capa "Deconvolución" de Caffe a TensorFlow? ¿Está correctamente tf.nn.conv2d_transpose ?

2) ¿Cómo mapear la capa "Crop" de Caffe a TensorFlow? Lamentablemente, no veo ninguna alternativa en TensorFlow. ¿Hay un equivalente para esto en TensorFlow?

3) ¿Caffe SoftmaxWithLoss corresponde a TensorFlow softmax_cross_entropy_with_logits?

Gracias de antemano por cualquier consejo, pista y ayuda.

EDITAR 9 de mayo de 2016:

1) He descubierto que tf.nn.conv2_transpose realmente corresponde a la capa deconvolución.

2) La capa de cultivo por ahora parece ser realmente un problema. Descubrí que realmente existe tf.image.resize_image_with_crop_or_pad , pero esto parece ser imposible de usar para este propósito, porque no puede funcionar con tensores creados dinámicamente ni con tensores 4D que debe usar después de tf.nn.conv2_transpose capa tf.nn.conv2_transpose

Puede encontrar más información en: https://github.com/tensorflow/tensorflow/issues/2049

EDICIÓN 17 de mayo de 2016:

Seguí el consejo de @ 24horas y construí FCN en tensorflow, aunque no pude hacerlo con datos del tamaño arbitrario.

2) La capa de cultivo realmente no es necesaria.

3) He usado tf.nn.sparse_softmax_cross_entropy_with_logits al final y funcionó para mí.


Encontré la manera de resolver imágenes de tamaño arbitrario en tensorflow, implementando la capa de recorte. Ahora se puede usar cualquier tamaño de imagen que desee, cuando se pasa solo una imagen. Más sobre mi solución está aquí: https://.com/a/45632285/3134418