2016-07-14 11 views
6

क्षमा करें अगर मैंने शीर्षक को गड़बड़ कर दिया, तो मुझे नहीं पता था कि यह कैसे वाक्यांश है। वैसे भी, मेरे पास मूल्यों के एक सेट का टेंसर है, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि टेंसर में प्रत्येक तत्व की सीमा 0 - 255 से हो, (या 0 - 1 भी काम करता है)। हालांकि, मैं सभी मानों को सॉफ्टमैक्स की तरह 1 या 255 तक जोड़ना नहीं चाहता हूं, मैं सिर्फ मूल्यों को कम करना चाहता हूं।tensorflow में एक टेंसर के पैमाने को बदलना

क्या ऐसा करने का कोई तरीका है?

धन्यवाद!

उत्तर

11

आप डेटा को सामान्य करने की कोशिश कर रहे हैं। एक क्लासिक सामान्य सूत्र है इस एक:

normalize_value = (value − min_value)/(max_value − min_value) 

tensorflow पर क्रियान्वयन ऐसा दिखाई देगा:

tensor = tf.div(
    tf.subtract(
     tensor, 
     tf.reduce_min(tensor) 
    ), 
    tf.subtract(
     tf.reduce_max(tensor), 
     tf.reduce_min(tensor) 
    ) 
) 

सभी टेन्सर का मान 0 और 1.

महत्वपूर्ण betweetn हो जाएगा: सुनिश्चित करें कि टेंसर में फ्लोट/डबल मान हैं, या आउटपुट टेंसर में शून्य और एक होंगे। यदि आपके पास एक पूर्णांक टेंसर है तो इसे पहले कॉल करें:

tensor = tf.to_float(tensor) 
2

sigmoid(tensor) * 255 इसे करना चाहिए।

संबंधित मुद्दे