টেনসরফ্লো নিউরাল নেটওয়ার্ক প্রকারের ত্রুটি: আনার যুক্তিতে অবৈধ প্রকার রয়েছে


11

আমি টেনসরফ্লো ব্যবহার করে একটি সাধারণ স্নায়বিক নেটওয়ার্ক তৈরি করছি, আমি নিজেই ডেটা সংগ্রহ করেছিলাম, তবে এটি সহযোগিতা করছে না: পিআই এমন একটি ত্রুটির মধ্যে পড়েছে যা আমি ঠিক করতে পারি না বা এর সমাধানটি খুঁজে পাই না এবং আমি আপনার সাহায্য পছন্দ করব।

ত্রুটিমাখা:

প্রকারের ত্রুটি: 2861.6152 এর 2861.6152 আর্গুমেন্টের অবৈধ প্রকার রয়েছে, অবশ্যই স্ট্রিং বা টেনসর হতে হবে। (ফ্লোট 32 কে টেনসর বা অপারেশনে রূপান্তর করতে পারে না))

ত্রুটিটি আমার কোডের নিম্নোক্ত রেখাকে বোঝায়:

_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

আমি ইতিমধ্যে বুঝতে পেরেছি যে আমি আমার কোডে নিম্নলিখিত লাইনগুলি মন্তব্য করার সময় ত্রুটি ঘটে না:

prediction = neural_network_model(champion_data)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data))
optimizer = tf.train.AdamOptimizer().minimize(cost)
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

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

সম্পূর্ণ কোডটি এখানে পাওয়া যাবে: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88

সম্পাদনা: আমি যাচাই করেছি যে চ্যাম্পিয়ন ডেটা যে নিউরাল_ নেট ওয়ার্ক_মোডেল ইনপুট, পূর্বাভাস এবং ব্যয় সমস্ত টেনসর। আমি অনুমানটি ব্যবহার করে সমস্যাটি সমাধান করার চেষ্টা করছি যে সমস্যাটি কোনওভাবে কোডের ফিড_ডিক্ট = {some অংশে রয়েছে তবে এখন পর্যন্ত কোথাও পাচ্ছেন না

উত্তর:


17

সমস্যাটি দুটি সময়ে 'ব্যয়' নামটি ব্যবহার করার কারণে সমস্যাটি পরিবর্তিত হয়ে এটি সমাধান করা হয়েছিল:

_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

এটি:

_, c = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

এইভাবে ভেরিয়েবলটির নাম 'সি' কোডটির [অপটিমাইজার, ব্যয়] অংশের সাথে আর সংঘর্ষে আসে না।


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