জ্ঞাত সমস্যা

টেনসরফ্লো ডিসিশন ফরেস্ট দ্বারা ব্যবহৃত ডিসিশন ফরেস্ট অ্যালগরিদমগুলির পিছনে অন্তর্নিহিত ইঞ্জিনটি ব্যাপকভাবে উত্পাদন-পরীক্ষিত হয়েছে। এই ফাইলটি পরিচিত কিছু সমস্যার তালিকা করে।

অন্যান্য অ্যালগরিদম থেকে ভিন্ন আচরণের জন্য মাইগ্রেশন গাইডটিও দেখুন।

উইন্ডোজ পিপ প্যাকেজ উপলব্ধ নয়

টেনসরফ্লো ডিসিশন ফরেস্ট এখনও উইন্ডোজ পিপ প্যাকেজ হিসাবে উপলব্ধ নয়।

সমাধান:

কেরাসের সাথে অসঙ্গতি 3

কেরাস 3 এর সাথে সামঞ্জস্যপূর্ণতা এখনও বাস্তবায়িত হয়নি। 2.16 এর আগে tf_keras বা একটি TensorFlow সংস্করণ ব্যবহার করুন।

কনডা জন্য অপরীক্ষিত

যদিও TF-DF Conda-এর সাথে কাজ করতে পারে, এটি পরীক্ষা করা হয় না এবং আমরা বর্তমানে conda-forge-এ প্যাকেজগুলি বজায় রাখি না।

TensorFlow-এর পুরানো বা রাতের সংস্করণের সাথে অসঙ্গতি

TensorFlow এর ABI রিলিজের মধ্যে সামঞ্জস্যপূর্ণ নয়। যেহেতু TF-DF কাস্টম TensorFlow C++ ops-এর উপর নির্ভর করে, TF-DF-এর প্রতিটি সংস্করণ TensorFlow-এর একটি নির্দিষ্ট সংস্করণের সাথে সংযুক্ত থাকে। TF-DF এর সর্বশেষ প্রকাশিত সংস্করণটি সর্বদা TensorFlow এর সর্বশেষ প্রকাশিত সংস্করণের সাথে সংযুক্ত থাকে।

এই কারণে, TF-DF-এর বর্তমান সংস্করণটি পুরানো সংস্করণের সাথে বা TensorFlow-এর রাতের বিল্ডের সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে।

TF এবং TF-DF এর বেমানান সংস্করণ ব্যবহার করলে, আপনি গোপনীয় ত্রুটি দেখতে পাবেন যেমন:

tensorflow_decision_forests/tensorflow/ops/training/training.so: undefined symbol: _ZN10tensorflow11GetNodeAttrERKNS_9AttrSliceEN4absl14lts_2020_09_2311string_viewEPSs
  • TF-DF-এর সংস্করণ ব্যবহার করুন যা আপনার TensorFlow সংস্করণের সাথে সামঞ্জস্যপূর্ণ।

সামঞ্জস্য টেবিল

নিম্নলিখিত টেবিলটি tensorflow_decision_forests এবং এর নির্ভরতার মধ্যে সামঞ্জস্যতা দেখায়:

tensorflow_decision_forests tensorflow
1.9.0 2.16.1
1.8.0 - 1.8.1 2.15.0
1.6.0 - 1.7.0 2.14.0
1.5.0 2.13.0
1.3.0 - 1.4.0 2.12.0
1.1.0 - 1.2.0 2.11.0
1.0.0 - 1.0.1 2.10.0 - 2.10.1
0.2.6 - 0.2.7 2.9.1
0.2.5 2.9
0.2.4 2.8
0.2.1 - 0.2.3 2.7
0.1.9 - 0.2.0 2.6
0.1.1 - 0.1.8 2.5
0.1.0 2.4
  • সমাধান # 2: আপনার প্রিপ্রসেসিং ফাংশনকে অন্য একটি ফাংশনে মোড়ানো যা এর ইনপুটগুলিকে চেপে ধরে

সমস্ত মডেল বিতরণকৃত প্রশিক্ষণ এবং বিতরণ কৌশল সমর্থন করে না

নির্দিষ্ট না করা পর্যন্ত, মডেলগুলিকে একটি একক মেশিনে প্রশিক্ষিত করা হয় এবং বিতরণ কৌশলগুলির সাথে সামঞ্জস্যপূর্ণ নয়৷ উদাহরণস্বরূপ GradientBoostedTreesModel বিতরণ করা প্রশিক্ষণ সমর্থন করে না যখন DistributedGradientBoostedTreesModel করে।

সমাধান:

  • এমন একটি মডেল ব্যবহার করুন যা বিতরণ কৌশলগুলিকে সমর্থন করে (যেমন DistributedGradientBoostedTreesModel ), অথবা আপনার ডেটাসেটের নমুনা নিন যাতে এটি একটি একক মেশিনে ফিট হয়।

GPU/TPU এর জন্য কোন সমর্থন নেই।

TF-DF GPU বা TPU প্রশিক্ষণ সমর্থন করে না। AVX নির্দেশাবলীর সাথে কম্পাইল করা, তবে, পরিবেশনের গতি বাড়িয়ে দিতে পারে।

মডেল_টু_এস্টিমেটরের জন্য কোন সমর্থন নেই

TF-DF একটি প্রশিক্ষিত/অপ্রশিক্ষিত মডেলকে এস্টিমেটর ফরম্যাটে রূপান্তর করার জন্য প্রয়োজনীয় APIগুলি বাস্তবায়ন করে না।

লোড করা মডেলগুলি পাইথন মডেলের চেয়ে ভিন্নভাবে আচরণ করে।

কেরাস এপিআই দ্বারা বিমূর্ত করার সময়, পাইথনে ইনস্ট্যান্টিয়েট করা একটি মডেল (যেমন, tfdf.keras.RandomForestModel() ) এবং ডিস্ক থেকে লোড করা একটি মডেল (যেমন, tf_keras.models.load_model() এর সাথে) ভিন্নভাবে আচরণ করতে পারে। উল্লেখযোগ্যভাবে, একটি পাইথন ইনস্ট্যান্টিয়েটেড মডেল স্বয়ংক্রিয়ভাবে প্রয়োজনীয় ধরনের রূপান্তর প্রয়োগ করে। উদাহরণস্বরূপ, যদি একটি float64 বৈশিষ্ট্য একটি float32 বৈশিষ্ট্য প্রত্যাশিত একটি মডেলকে খাওয়ানো হয়, এই রূপান্তরটি পরোক্ষভাবে সঞ্চালিত হয়। যাইহোক, ডিস্ক থেকে লোড করা মডেলগুলির জন্য এই ধরনের রূপান্তর সম্ভব নয়। তাই এটা গুরুত্বপূর্ণ যে প্রশিক্ষণের তথ্য এবং অনুমান ডেটা সবসময় একই ধরনের থাকে।

টেনসরফ্লো বৈশিষ্ট্যের নাম স্যানিটাইজেশন

টেনসরফ্লো বৈশিষ্ট্যের নামগুলিকে স্যানিটাইজ করে এবং উদাহরণস্বরূপ, সেগুলিকে ছোট হাতের অক্ষরে রূপান্তর করতে পারে।