सहायता Kaggle पर TensorFlow साथ ग्रेट बैरियर रीफ की रक्षा चैलेंज में शामिल हों

टेंसरफ़्लो :: ऑप्स :: वंचित करना

#include <array_ops.h>

Dequantize एक नाव में 'इनपुट' टेन्सर टेन्सर

सारांश

[min_range, max_range] स्केलर फ्लोट हैं जो 'इनपुट' डेटा के लिए सीमा निर्दिष्ट करते हैं। 'मोड' विशेषता वास्तव में नियंत्रित करती है कि कौन सी गणना फ्लोट मानों को उनके मात्रात्मक समकक्षों में बदलने के लिए उपयोग की जाती है।

'MIN_COMBINED' मोड में, टेंसर का प्रत्येक मान निम्न से गुजरना होगा:

यहाँ

if T == qint8: in[i] += (range(T) + 1)/ 2.0
out[i] = min_range + (in[i]* (max_range - min_range) / range(T))
range(T) = numeric_limits ::max() - numeric_limits ::min() न्यूमेरिक_लिमिट्स range(T) = numeric_limits ::max() - numeric_limits ::min() range(T) = numeric_limits ::max() - numeric_limits ::min()

MIN_COMBINED मोड उदाहरण

यदि इनपुट QuantizedRelu6 से आता है, तो आउटपुट प्रकार quint8 (0-255 की सीमा) है, लेकिन QuantizedRelu6 की संभावित सीमा 0-6 है। Min_range और max_range मान 0.0 और 6.0 हैं। Quint8 पर Dequantize प्रत्येक मान लेगा, फ़्लोट करने के लिए, और 6/255 से गुणा करेगा। ध्यान दें कि यदि quantizedtype qint8 है, तो संचालन अतिरिक्त रूप से कास्टिंग से पहले प्रत्येक मान को 128 से जोड़ देगा।

यदि मोड 'MIN_FIRST' है, तो इस दृष्टिकोण का उपयोग किया जाता है:

num_discrete_values = 1 << (# of bits in T)
range_adjust = num_discrete_values / (num_discrete_values - 1)
range = (range_max - range_min) * range_adjust
range_scale = range / num_discrete_values
const double offset_input = static_cast(input) - lowest_quantized;
result = range_min + ((input - numeric_limits::min()) * range_scale)

SCALED मोड उदाहरण

SCALED मोड, QuantizeAndDequantize{V2|V3} में प्रयुक्त परिमाणीकरण दृष्टिकोण से मेल खाता है।

यदि मोड SCALED , तो हम आउटपुट प्रकार की पूरी श्रृंखला का उपयोग नहीं करते हैं, समरूपता के लिए सबसे कम संभव मान को चुनना है (उदाहरण के लिए, आउटपुट रेंज -127 से 127, हस्ताक्षरित 8 बिट मात्रा के लिए -128 से 127 नहीं) ताकि 0.0 मानचित्र 0 से।

हम पहले अपने टेंसर में मूल्यों की सीमा पाते हैं। हमारे द्वारा उपयोग की जाने वाली श्रेणी हमेशा 0 पर केंद्रित होती है, इसलिए हम ऐसे मी को खोजते हैं जो

  m = max(abs(input_min), abs(input_max))
हो

हमारी इनपुट टेंसर रेंज तब [-m, m]

इसके बाद, हम अपने नियत-बिंदु परिमाणीकरण बाल्टियों को चुनते हैं, [min_fixed, max_fixed] । यदि T हस्ताक्षरित है, तो यह

  num_bits = sizeof(T) * 8
  [min_fixed, max_fixed] =
      [-(1 << (num_bits - 1) - 1), (1 << (num_bits - 1)) - 1]
है

अन्यथा, यदि टी अहस्ताक्षरित है, तो निश्चित-बिंदु सीमा

  [min_fixed, max_fixed] = [0, (1 << num_bits) - 1]
है

इससे हम अपने स्केलिंग कारक की गणना करते हैं, s:

  s = (2 * m) / (max_fixed - min_fixed)

अब हम अपने टेंसर के तत्वों को समाप्त कर सकते हैं:

result = input * s

तर्क:

  • गुंजाइश: एक स्कोप ऑब्जेक्ट
  • min_range: न्यूनतम स्केलर मान संभवतः इनपुट के लिए निर्मित होता है।
  • max_range: अधिकतम स्केलर मान संभवतः इनपुट के लिए निर्मित होता है।

रिटर्न:

  • Output : आउटपुट टेंसर।

कंस्ट्रक्टर और डिस्ट्रक्टर्स

Dequantize (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input min_range, :: tensorflow::Input max_range)
Dequantize (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input min_range, :: tensorflow::Input max_range, const Dequantize::Attrs & attrs)

सार्वजनिक विशेषताएँ

operation
output

सार्वजनिक कार्य

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

सार्वजनिक स्थैतिक कार्य

Mode (StringPiece x)

संरचनाएं

टेनसफ़्लो :: ऑप्स :: डिक्वेंटाइज़ :: एट्र्स

Dequantize के लिए वैकल्पिक विशेषता बसती है

सार्वजनिक विशेषताएँ

ऑपरेशन

Operation operation

उत्पादन

::tensorflow::Output output

सार्वजनिक कार्य

वंचित करना

 Dequantize(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input min_range,
  ::tensorflow::Input max_range
)

वंचित करना

 Dequantize(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input min_range,
  ::tensorflow::Input max_range,
  const Dequantize::Attrs & attrs
)

नोड

::tensorflow::Node * node() const 

ऑपरेटर :: टेंसरफ़्लो :: इनपुट

 operator::tensorflow::Input() const 
है

ऑपरेटर :: टेंसरफ़्लो :: आउटपुट

 operator::tensorflow::Output() const 

सार्वजनिक स्थैतिक कार्य

मोड

Attrs Mode(
  StringPiece x
)