অবজেক্ট_ডিটেকশন_ টিউটোরিয়াল চালানোর ক্ষেত্রে সমস্যা: প্রকারের ত্রুটি: লোড () 2 প্রয়োজনীয় অবস্থানগত আর্গুমেন্ট অনুপস্থিত


11

আমি টেনসরফ্লোতে বেশ নতুন এবং আমি অবজেক্ট_ডিটেকশন_ টিউটোরিয়াল চালানোর চেষ্টা করছি। আমি টাইপ এরির পেয়েছি এবং কীভাবে এটি ঠিক করতে হয় তা জানি না।

এটি লোডমোডেল ফাংশন যা 2 টি আর্গুমেন্ট মিস করে:

ট্যাগস: প্রয়োজনীয় মেটাগ্রাফডিফ সনাক্ত করতে স্ট্রিং ট্যাগগুলির সেট। এগুলি সেভডমডেল সেভ () এপিআই ব্যবহার করে ভেরিয়েবলগুলি সংরক্ষণ করার সময় ব্যবহৃত ট্যাগগুলির সাথে সামঞ্জস্য করা উচিত।

এক্সপোর্ট_ডির: সেভডমোডেল প্রোটোকল বাফার এবং লোড করা ভেরিয়েবলের ডিরেক্টরি রয়েছে।

def load_model(model_name):
  base_url = 'http://download.tensorflow.org/models/object_detection/'
  model_file = model_name + '.tar.gz'
  model_dir = tf.keras.utils.get_file(
    fname=model_name, 
    origin=base_url + model_file,
    untar=True)

  model_dir = pathlib.Path(model_dir)/"saved_model"

  model = tf.saved_model.load(str(model_dir))
  model = model.signatures['serving_default']

  return model
WARNING:tensorflow:From <ipython-input-9-f8a3c92a04a4>:11: load (from tensorflow.python.saved_model.loader_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.loader.load or tf.compat.v1.saved_model.load. There will be a new function for importing SavedModels in Tensorflow 2.0.

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-12-e10c73a22cc9> in <module>
      1 model_name = 'ssd_mobilenet_v1_coco_2017_11_17'
----> 2 detection_model = load_model(model_name)

<ipython-input-9-f8a3c92a04a4> in load_model(model_name)
      9   model_dir = pathlib.Path(model_dir)/"saved_model"
     10 
---> 11   model = tf.saved_model.load(str(model_dir))
     12   model = model.signatures['serving_default']
     13 

~/.local/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py in new_func(*args, **kwargs)
    322               'in a future version' if date is None else ('after %s' % date),
    323               instructions)
--> 324       return func(*args, **kwargs)
    325     return tf_decorator.make_decorator(
    326         func, new_func, 'deprecated',

TypeError: load() missing 2 required positional arguments: 'tags' and 'export_dir'

আপনি কি আমাকে এটি ঠিক করতে এবং আমার প্রথম অবজেক্ট সনাক্তকারী চালাতে সাহায্য করতে পারেন: ডি?

উত্তর:


14

আমার একই সমস্যা ছিল এবং আমি এখন 1 সপ্তাহের জন্য এটি সমাধান করার চেষ্টা করছি। আমার ধারণা সমাধানটি এই হওয়া উচিত;

model = tf.compat.v2.saved_model.load(str(model_dir), None)

আরও বিশদ হবে ( অফিসিয়াল ওয়েবসাইট থেকে );

এক্সপোর্ট_ডির থেকে একটি সেভডমডেল লোড করুন।

tf.saved_model.load(
    export_dir,
    tags=None
)

ওরফে:

tf.compat.v1.saved_model.load_v2

tf.compat.v2.saved_model.load

1
আমি আপনার সমাধানটি ব্যবহার করেছি এবং অন্য একটি ত্রুটি পেয়েছি। আমি যা কিছু করতে পারি আপডেট করেছিলাম এবং এটি কার্যকর হয়! প্যাথলিবটি আটকে না দেওয়াতে আমারও ত্রুটি ছিল।
ডোমিনিক

@ ডোমিনিক আপনি কি আরও নির্দিষ্ট হতে পারেন? সম্ভবত আমি সহায়তা করতে পারি কারণ এই টেনস্রোফ্লো অ্যাডভেঞ্চারটি আমাকে প্রচুর সমস্যা সমাধানে পরিচালিত করেছে: ডি
ওনুর বাসকিন

4
@ অনুরবাসকিন পরে এর পরে একটি ত্রুটি রয়েছে: টাইপ এরির: ইনট () যুক্তিটি অবশ্যই একটি স্ট্রিং, বাইটের মতো অবজেক্ট বা একটি সংখ্যা হতে হবে, 'টেনসর' নয়
কাইতসু

@ ডোমিনিক আমি ধরে নিলাম এটি আপনার টেনসরফ্লো সংস্করণ। এটি সংস্করণ 2.0 (স্থিতিশীল) হওয়া উচিত। আমি যে প্রশ্নটি জিজ্ঞাসা করেছি তার লিঙ্কটি এখানে আপনি সম্ভবত সঠিক ত্রুটি করছেন। এছাড়াও, যে কোনও পুরানো আমদানির জন্য অনুসন্ধান করুন যার জন্য 'compat.v1' দরকার। পরবর্তীতে আপনার আরও অনেক ত্রুটি থাকা উচিত তবে আপনি পুরানো কোডটি এভাবে মাইগ্রেট করেন।
ওনুর বাসকিন

@ অনুরবাসকিন আমি বেশ বিভ্রান্ত আমি ভেবেছিলাম অবজেক্ট ডিটেকশন এপিআই শুধুমাত্র টেনসরফ্লো 1 সংস্করণে সামঞ্জস্যপূর্ণ।
বিআইআইআইআরআইড

0

আমি অনুমান করেছি যে এটি একটি শাখার সমস্যা এবং tf_2_1_references শাখা ব্যবহার করে আমার জন্য কৌশলটি করেছেন:

igian@iGians-MBP models % git checkout tf_2_1_reference
M   research/object_detection/object_detection_tutorial.ipynb
Branch 'tf_2_1_reference' set up to track remote branch 'tf_2_1_reference' from 'origin'.
Switched to a new branch 'tf_2_1_reference'
igians@iGians-MBP models % jupyter notebook

তারপরে টিউটোরিয়ালের প্রতিটি বৃহস্পতি সেলকে একটি ভাল নবাগতের মতো কার্যকর করা হয়েছিল!

এটি আমি ব্যবহৃত শাখা: https://github.com/tensorflow/models/tree/tf_2_1_references

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.