কেরাস ব্যবহার করে গভীর শিক্ষার জন্য ডেটা পুনরায় আকার দেওয়া


10

আমি কেরাসের একজন শিক্ষানবিস এবং লাইব্রেরিটি আসলে কীভাবে কাজ করে তা বোঝার জন্য আমি এমএনআইএস্ট উদাহরণ দিয়ে শুরু করেছি। কেরাস উদাহরণ ফোল্ডারে এমএনআইএসটি সমস্যার কোড স্নিপেটটি দেওয়া হয়েছে:

import numpy as np
np.random.seed(1337)  # for reproducibility

from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten  
from keras.layers import Convolution2D, MaxPooling2D
from keras.utils import np_utils

batch_size = 128
nb_classes = 10
nb_epoch = 12

# input image dimensions
img_rows, img_cols = 28, 28
# number of convolutional filters to use
nb_filters = 32
# size of pooling area for max pooling
nb_pool = 2
# convolution kernel size
nb_conv = 3

# the data, shuffled and split between train and test sets
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(X_train.shape[0], 1, img_rows, img_cols)
X_test = X_test.reshape(X_test.shape[0], 1, img_rows, img_cols)
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
..........

আমি এখানে পুনরায় আকার ফাংশন বুঝতে অক্ষম। এটি কী করছে এবং কেন আমরা এটি প্রয়োগ করেছি?

উত্তর:


8

mnist.load_data()কাঠামো সহ এমএনআইএসটি সংখ্যা সরবরাহ করে (nb_samples, 28, 28)উদাহরণস্বরূপ 2 টি মাত্রার সাথে একটি গ্রেস্কেল চিত্র 28x28 উপস্থাপন করে।

কেরাসে কনভলিউশন 2 ডি স্তরগুলি উদাহরণস্বরূপ 3 টি মাত্রা সহ কাজ করার জন্য ডিজাইন করা হয়েছে। তাদের 4-মাত্রিক ইনপুট এবং আউটপুট রয়েছে। এই কভার রঙ ইমেজ (nb_samples, nb_channels, width, height), কিন্তু আরো গুরুত্বপূর্ণ, এটা নেটওয়ার্ক, যেখানে প্রতিটি উদাহরণ বৈশিষ্ট্য একটি সেট অর্থাত মানচিত্র পরিণত হয়েছে গভীর স্তর জুড়ে (nb_samples, nb_features, width, height)

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


আপনি দয়া করে কোডটিতে ব্যবহৃত "np.random.seed (1337)" এর পিছনে যুক্তিটি ব্যাখ্যা করতে পারেন? 1337 কেন?
এন্টারএমএল

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