আমি পূর্ব- প্রশিক্ষিত মডেল (যা সেই ডেটাসেটেও প্রশিক্ষিত ছিল) ব্যবহার করে পাস্কাল ভিওসি ২০১২২ তে ডিপ্লাবভ ৩ + এর এই কেরাস বাস্তবায়নটি প্রশিক্ষণের চেষ্টা করছি ।
যথার্থতার সাথে দ্রুত 1.0 এ রূপান্তরিত করার সাথে আমি অদ্ভুত ফলাফল পেয়েছি:
5/5 [==============================] - 182s 36s/step - loss: 26864.4418 - acc: 0.7669 - val_loss: 19385.8555 - val_acc: 0.4818
Epoch 2/3
5/5 [==============================] - 77s 15s/step - loss: 42117.3555 - acc: 0.9815 - val_loss: 69088.5469 - val_acc: 0.9948
Epoch 3/3
5/5 [==============================] - 78s 16s/step - loss: 45300.6992 - acc: 1.0000 - val_loss: 44569.9414 - val_acc: 1.0000
মডেলটি পরীক্ষা করে 100% নির্ভুলতাও দেয়।
আমি প্রশিক্ষণের আগে এবং পরে এলোমেলো চিত্রের একই সেটটিতে ভবিষ্যদ্বাণীগুলি প্লট করার সিদ্ধান্ত নিয়েছি এবং দেখেছি যে মডেলটি সবকিছুকে কেবল পটভূমিতে বলতে উত্সাহিত করা হয় (এটি পাস্কাল ভিওসি ২০১২ এর প্রথম শ্রেণি)।
আমি গভীর শেখার পক্ষে যথেষ্ট নতুন এবং এটি কোথা থেকে আসতে পারে তা নির্ধারণের জন্য সহায়তা প্রয়োজন।
আমি ভেবেছিলাম সম্ভবত এটি আমার ক্ষতি ফাংশন হতে পারে, যা আমি সংজ্ঞায়িত করেছি:
def image_categorical_cross_entropy(y_true, y_pred):
"""
:param y_true: tensor of shape (batch_size, height, width) representing the ground truth.
:param y_pred: tensor of shape (batch_size, height, width) representing the prediction.
:return: The mean cross-entropy on softmaxed tensors.
"""
return tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=y_pred, labels=y_true))
আমার টেনারগুলির সঠিক আকার আছে কিনা তা নিয়ে আমি কিছুটা অনিশ্চিত। আমি .tfrecord
ফাইলগুলি লোড করতে টিএফ এর ডেটাসেট এপিআই ব্যবহার করছি এবং আমার টিকাটি টেনসর আকার ধারণ করে (batch_size, height, width)
। কি (batch_size, height, width, 21)
প্রয়োজন হবে? মডেলের অভ্যন্তর থেকে অন্যান্য ত্রুটিগুলি উত্থাপিত হয় যখন আমি টিকাতে 21 টি চিত্র (প্রতিটি শ্রেণির জন্য একটি) টেনসরতে টীকাটি আলাদা করার চেষ্টা করি:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [12,512,512,21] vs. [12,512,512]
[[Node: metrics/acc/Equal = Equal[T=DT_INT64, _device="/job:localhost/replica:0/task:0/device:GPU:0"](metrics/acc/ArgMax, metrics/acc/ArgMax_1)]]
[[Node: training/Adam/gradients/bilinear_upsampling_2_1/concat_grad/Slice_1/_13277 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:1", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_62151_training/Adam/gradients/bilinear_upsampling_2_1/concat_grad/Slice_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:1"]()]]
আপনার সাহায্যের জন্য ধন্যবাদ!