2016-07-28 6 views
1

Ich versuche zu implementieren, wie in http://www.cv-foundation.org/openaccess/content_iccv_2015/html/Noh_Learning_Deconvolution_Network_ICCV_2015_paper.html, mit max_pool_with_argmax und sparse_to_dense entpacken. aber die Funktion sparse_to_dense scheint nur skalare Werte als output_shape zu verwenden. zum Beispiel schrieb ich dieses Skript:tensorflow sparse_to_dense Funktion, output_shape Argument

import tensorflow as tf 
import numpy as np 
unpooled=tf.sparse_to_dense(sparse_indices=[0,1,3],output_shape=[3,4],sparse_values=[4,5,6]) 
sess=tf.Session() 
[unpol]=sess.run([unpooled]) 
print(unpol) 

es Fehler gose erhöhen wird: raise Typ (e) (node_def, op, message)
tensorflow.python.framework.errors.InvalidArgumentError: output_shape hat falsche Anzahl der Elemente: 2 sollte sein: 1

Also ist das ein Fehler oder ich verwende es falsch?

Antwort

0

Das sollte unpooled Linie sein:

unpooled=tf.sparse_to_dense(sparse_indices=[0,1,3],output_shape=[4],sparse_values=[4,5,6]) 

: [4,5,0,6] 

, da der maximale Index 3 ist, was bedeutet, Sie 4 Werte haben.