আমার খুব সাধারণ সমস্যা আছে তবে আমি এটি সমাধান করার জন্য কোনও সঠিক সরঞ্জাম খুঁজে পাচ্ছি না।
আমার একই দৈর্ঘ্যের ভেক্টরগুলির কিছু ক্রম রয়েছে। এখন আমি এই সিকোয়েন্সগুলির ট্রেনের নমুনায় এলএসটিএম আরএনএনকে প্রশিক্ষণ দিতে চাই এবং তারপরে এটি বেশ কয়েকটি প্রাইমিং ভেক্টরের উপর ভিত্তি করে দৈর্ঘ্যের এর ভেক্টরগুলির নতুন সিক্যুয়েন্সটির পূর্বাভাস দিতে পারি ।
এটি কার্যকর করার মতো সহজ বাস্তবায়ন আমি পাই না। আমার বেস ভাষা পাইথন, তবে যেগুলি কিছু দিনের জন্য ইনস্টল করে না তা ধরে রাখবে।
আমি লাসাগন ব্যবহার করার চেষ্টা করেছি , তবে আরএনএন বাস্তবায়ন এখনও প্রস্তুত নয় এবং এটি পৃথক প্যাকেজ এনটুলগুলিতে রয়েছে । যাইহোক, আমি দ্বিতীয়টির চেষ্টা করেছিলাম তবে কীভাবে এটি প্রশিক্ষণ দেওয়া যায় তা আমি বুঝতে পারি না, তারপরে এটি পরীক্ষার কিছু ভেক্টর দ্বারা প্রাইম করে নিন এবং এটি নিউন (গুলি) সম্পর্কে ভবিষ্যদ্বাণী করা যাক। ব্লকগুলি একই সমস্যা - এলএসটিএম আরএনএন-এর জন্য কোনও ডকুমেন্টেশন উপলব্ধ নেই, যদিও মনে হচ্ছে কিছু শ্রেণি এবং ফাংশন রয়েছে যা কাজ করতে পারে (যেমন blocks.bricks.recurrent
)।
Theano, মত RNN LSTM বিভিন্ন বাস্তবায়ন আছে GroundHog
, theano-rnn
, theano_lstm
এবং কিছু কাগজপত্র কোড, কিন্তু সেসব থাকে টিউটোরিয়াল অ বা কিভাবে আমি কি চাই না গাইড।
পাইব্রাইন ব্যবহার করা কেবলমাত্র ব্যবহারযোগ্য সমাধান। তবে দুর্ভাগ্যক্রমে এটিতে থিয়ানো (প্রধানত জিপিইউ গণনা) এর বৈশিষ্ট্যগুলির অভাব রয়েছে এবং এতিম হয়েছে (কোনও নতুন বৈশিষ্ট্য এবং সমর্থন নেই)।
কেউ কি জানতে পারে আমি কোথায় যা চাইছিলাম তা কোথায় পেয়েছি? ভেক্টরগুলির অনুক্রমের পূর্বাভাস দেওয়ার জন্য আরএনএন এলএসটিএম এর সাথে কাজ করা সহজ?
সম্পাদনা:
আমি কেরাসকে এভাবে চেষ্টা করেছি:
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.layers.embeddings import Embedding
from keras.layers.recurrent import LSTM
model = Sequential()
model.add(Embedding(12, 256))
model.regularizers = []
model(LSTM(256, 128, activation='sigmoid',
inner_activation='hard_sigmoid'))
model.add(Dropout(0.5))
model.add(Dense(128, 12))
model.add(Activation('sigmoid'))
model.compile(loss='mean_squared_error', optimizer='rmsprop')
তবে এটি ফিট করার চেষ্টা করার সময় আমি এই ত্রুটিটি পাচ্ছি model.fit(X_train, y_train, batch_size=16, nb_epoch=10)
IndexError: index 800 is out of bounds for axis 1 with size 12
যখন X_train
এবং y_train
অ্যারে (দৈর্ঘ্যের 12) এর অ্যারে হয়, যেমন[[i for i in range(12)] for j in range(1000)]