This page was translated by the Cloud Translation API.
Switch to English

ডেটাসেট সংস্করণ

শব্দার্থিক

DatasetBuilder সংজ্ঞায়িত প্রতিটি DatasetBuilder একটি সংস্করণ নিয়ে আসে, উদাহরণস্বরূপ:

 class MNIST(tfds.core.GeneratorBasedBuilder):
  VERSION = tfds.core.Version("1.0.0")
 

সংস্করণটি সিমেটিক সংস্করণ MAJOR.MINOR.PATCH অনুসরণ করেছে: MAJOR.MINOR.PATCH । সংস্করণের উদ্দেশ্য পুনরুত্পাদনযোগ্যতার গ্যারান্টি দিতে সক্ষম হওয়া: একটি নির্দিষ্ট সংস্করণে প্রদত্ত ডেটাসেট লোড করা একই ডেটা দেয়। আরো নির্দিষ্টভাবে:

  • যদি PATCH সংস্করণটি PATCH তবে ক্লায়েন্টের দ্বারা পড়া তথ্য একই হয়, যদিও ডিস্কে ডেটা আলাদাভাবে সিরিয়াল করা যেতে পারে, বা মেটাডেটা পরিবর্তন হতে পারে। যে কোনও প্রদত্ত স্লাইসের জন্য, স্লাইসিং এপিআই একই রেকর্ডের সেট দেয় returns
  • যদি MINOR সংস্করণ MINOR হয় তবে ক্লায়েন্টের পড়া হিসাবে বিদ্যমান তথ্য একই, তবে অতিরিক্ত ডেটা রয়েছে (প্রতিটি রেকর্ডের বৈশিষ্ট্য)। যে কোনও প্রদত্ত স্লাইসের জন্য, স্লাইসিং এপিআই একই রেকর্ডের সেট দেয় returns
  • যদি MAJOR সংস্করণটি বর্ধিত হয় তবে বিদ্যমান ডেটা পরিবর্তন করা হয়েছে এবং / অথবা স্লাইসিং এপিআই কোনও নির্দিষ্ট স্লাইসের জন্য একই রেকর্ডের সেটটি ফেরত দেয় না।

যখন টিএফডিএস লাইব্রেরিতে একটি কোড পরিবর্তন করা হয় এবং সেই কোড পরিবর্তনটি কোনও ডেটাसेटকে ক্রমিকিত করা এবং / অথবা ক্লায়েন্ট দ্বারা পড়ার ক্ষেত্রে প্রভাব ফেলে তখন উপরের গাইডলাইন অনুসারে সংশ্লিষ্ট বিল্ডার সংস্করণটি বাড়ানো হয়।

নোট করুন যে উপরের অর্থাতৃত শব্দটি সর্বোত্তম প্রচেষ্টা এবং সংস্করণটি বর্ধিত না হওয়ার সাথে সাথে কোনও ডেটাসেটকে প্রভাবিত করে এমন অ-নজরে থাকা বাগ থাকতে পারে। এই ধরনের বাগ অবশেষে ঠিক করা হয়েছে, কিন্তু আপনি যদি প্রচন্ডভাবে সংস্করণ উপর নির্ভর, আমরা (যেমন বিরোধিতা আপনি একটি মুক্তি সংস্করণ থেকে TFDS ব্যবহার করতে পরামর্শ HEAD )।

এছাড়াও নোট করুন যে কিছু ডেটাসেটের টিএফডিএস সংস্করণ থেকে পৃথক করে অন্য সংস্করণ স্কিম রয়েছে। উদাহরণস্বরূপ, ওপেন ইমেজস ডেটাসেটের বেশ কয়েকটি সংস্করণ রয়েছে এবং টিএফডিএসে, সংশ্লিষ্ট বিল্ডাররা open_images_v4 , open_images_v5 , ...

সমর্থিত সংস্করণ

একটি DatasetBuilder বেশ কয়েকটি সংস্করণ সমর্থন করতে পারে, যা DatasetBuilder সংস্করণের চেয়ে উচ্চতর বা কম উভয় হতে পারে। উদাহরণ স্বরূপ:

 class Imagenet2012(tfds.core.GeneratorBasedBuilder):
  VERSION = tfds.core.Version('2.0.1', 'Encoding fix. No changes from user POV')
  SUPPORTED_VERSIONS = [
      tfds.core.Version('3.0.0', 'S3: tensorflow.org/datasets/splits'),
      tfds.core.Version('1.0.0'),
      tfds.core.Version('0.0.9', tfds_version_to_prepare="v1.0.0"),
  ]
 

পুরানো সংস্করণ সমর্থন অব্যাহত রাখার পছন্দটি মূলত ডেটাসেট এবং সংস্করণের জনপ্রিয়তার ভিত্তিতে কেস-কেস-কেস ভিত্তিতে করা হয়। অবশেষে, আমরা লক্ষ্য করি যে কেবলমাত্র এক আদর্শ ডেটাসেটের জন্য সীমিত সংখ্যার সংস্করণকে সমর্থন করি। উপরের উদাহরণে, আমরা দেখতে পাচ্ছি যে 2.0.0 সংস্করণটি আর সমর্থিত নয়, পাঠকের দৃষ্টিকোণ থেকে 2.0.1 মতোই।

ক্যানোনিকাল সংস্করণ সংখ্যার চেয়ে বেশি সংখ্যক সহ সমর্থিত সংস্করণগুলি পরীক্ষামূলক হিসাবে বিবেচিত হয় এবং এটি সম্ভবত ভেঙে যেতে পারে। এগুলি অবশ্য শেষ অবধি প্রমিত হয়ে উঠবে।

একটি সংস্করণ tfds_version_to_prepare নির্দিষ্ট করতে tfds_version_to_prepare । এর অর্থ এই ডেটাসেট সংস্করণটি কেবলমাত্র টিএফডিএস কোডের বর্তমান সংস্করণে ব্যবহার করা যেতে পারে যদি এটি ইতিমধ্যে কোডের কোনও পুরানো সংস্করণ দ্বারা প্রস্তুত করা হয় তবে প্রস্তুত করা যায় না। tfds_version_to_prepare এর মান tfds_version_to_prepare সর্বশেষ জ্ঞাত সংস্করণটি নির্দিষ্ট করে যা এই সংস্করণে ডেটাসেটটি ডাউনলোড এবং প্রস্তুত করতে ব্যবহৃত হতে পারে।

একটি নির্দিষ্ট সংস্করণ লোড হচ্ছে

কোনও ডেটাসেট বা DatasetBuilder লোড করার সময় আপনি ব্যবহার করার জন্য সংস্করণটি নির্দিষ্ট করতে পারেন। উদাহরণ স্বরূপ:

 tfds.load('imagenet2012:2.0.1')
tfds.builder('imagenet2012:2.0.1')

tfds.load('imagenet2012:2.0.0')  # Error: unsupported version.

# Resolves to 3.0.0 for now, but would resolve to 3.1.1 if when added.
tfds.load('imagenet2012:3.*.*')
 

যদি কোনও প্রকাশনার জন্য টিএফডিএস ব্যবহার করে থাকে, তবে আমরা আপনাকে পরামর্শ দিই:

  • কেবলমাত্র সংস্করণের MAJOR উপাদানটি ঠিক করুন ;
  • আপনার ফলাফলগুলিতে ডেটাসেটের কোন সংস্করণ ব্যবহৃত হয়েছিল তা বিজ্ঞাপন করুন।

এটি করা আপনার ভবিষ্যতের স্ব, আপনার পাঠক এবং পর্যালোচকদের আপনার ফলাফল পুনরুত্পাদন করা আরও সহজ করে তুলবে।

এক্সপেরিমেন্ট

অনেকগুলি ডেটাसेट নির্মাতাকে প্রভাবিত করছে এমন টিএফডিএসে ধীরে ধীরে পরিবর্তনের জন্য, আমরা পরীক্ষাগুলির ধারণাটি প্রবর্তন করেছি। প্রথম উপস্থাপিত হলে, একটি পরীক্ষা ডিফল্ট হিসাবে অক্ষম করা হয়, তবে নির্দিষ্ট ডেটাসেট সংস্করণগুলি এটি সক্ষম করার সিদ্ধান্ত নিতে পারে। এটি সাধারণত "ভবিষ্যতে" সংস্করণে করা হবে (এখনও প্রামাণ্য তৈরি হয়নি)। উদাহরণ স্বরূপ:

 class MNIST(tfds.core.GeneratorBasedBuilder):
  VERSION = tfds.core.Version("1.0.0")
  SUPPORTED_VERSIONS = [
      tfds.core.Version("2.0.0", "EXP1: Opt-in for experiment 1",
                        experiments={tfds.core.Experiment.EXP1: True}),
  ]
 

প্রত্যাশিত হিসাবে কাজ করার জন্য একবার পরীক্ষাটি যাচাই করা হয়ে গেলে, এটি সমস্ত বা বেশিরভাগ ডেটাসেটগুলিতে প্রসারিত করা হবে, যেখানে এটি ডিফল্টরূপে সক্ষম করা যেতে পারে এবং উপরের সংজ্ঞাটি এর পরে দেখতে পাবেন:

 class MNIST(tfds.core.GeneratorBasedBuilder):
  VERSION = tfds.core.Version("1.0.0",
                              experiments={tfds.core.Experiment.EXP1: False})
  SUPPORTED_VERSIONS = [
      tfds.core.Version("2.0.0", "EXP1: Opt-in for experiment 1"),
  ]
 

সমস্ত ডেটাসেট সংস্করণ জুড়ে একবার পরীক্ষা-নিরীক্ষা করা হয়ে গেলে ( {experiment: False} spec নির্দিষ্ট করে কোনও ডেটাসেট সংস্করণ অবশিষ্ট নেই) পরীক্ষাটি মুছে ফেলা যায়।

পরীক্ষাগুলি এবং তাদের বিবরণ core/utils/version.py সংজ্ঞায়িত করা হয়েছে।

BUILDER_CONFIGS এবং সংস্করণ

কিছু ডেটাসেটগুলি বেশ কয়েকটি BUILDER_CONFIGS সংজ্ঞায়িত করে। যখন যে ক্ষেত্রে হয় version এবং supported_versions সংজ্ঞায়িত করা হয় কনফিগ নিজেদের বস্তুর উপর। এটি ব্যতীত শব্দার্থবিজ্ঞান এবং ব্যবহার অভিন্ন। উদাহরণ স্বরূপ:

 class OpenImagesV4(tfds.core.GeneratorBasedBuilder):

  BUILDER_CONFIGS = [
      OpenImagesV4Config(
          name='original',
          version=tfds.core.Version('0.2.0'),
          supported_versions=[
            tfds.core.Version('1.0.0', "Major change in data"),
          ],
          description='Images at their original resolution and quality.'),
      ...
  ]

tfds.load('open_images_v4/original:1.*.*')