علت pad نشدن خروجی در تنسورفلو - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

علت pad نشدن خروجی در تنسورفلو

+1 امتیاز

من کد زیر را نوشتم و در حال دریافت داده ها هستم ولی داده ها هر کاری می کنم pad نمیشه.

import tensorflow as tf
import  numpy as np


q = tf.PaddingFIFOQueue(capacity=10,dtypes=[tf.float32],shapes=[(None,None)],
                        name="q",shared_name="shared_q")

v = tf.placeholder(tf.float32,shape=(None,None))
enqueue = q.enqueue([v])
dequeue = q.dequeue()

with tf.Session() as sess:
    sess.run(enqueue,feed_dict={v:[[1.,2.]]})
    sess.run(enqueue, feed_dict={v: [[1., 2.],[3.,4.]]})
    sess.run(enqueue, feed_dict={v: [[1.]]})

    print(sess.run(dequeue))
    print(sess.run(dequeue))
    print(sess.run(dequeue))

//result
[[ 1.  2.]]
[[ 1.  2.]
 [ 3.  4.]]
[[ 1.]]

من انتظار داشتم داده ها را با ماکزیمم shape برام با صفر pad کنه ولی خروجی چیز دیگری را نشان میده!!!!

سوال شده آذر 4, 1396  بوسیله ی amin_sajadi (امتیاز 15)   2 2

1 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام.

برای اینکار نباید به صورت تکی dequeue انجام بدید بلکه همان تعداد dequeue را به صورت تعدادی(دسته ای) dequeue کنید .

dequeue_many = q.dequeue_many

print(sess.run( dequeue_many))

 

پاسخ داده شده آذر 6, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد آذر 6, 1396 بوسیله ی amin_sajadi
...