সেরা পুনরুত্পাদনযোগ্যতা সরঞ্জামটি হ'ল আপনার ক্রিয়াকলাপগুলির লগ তৈরি করা, এরকম কিছু:
experiment/input ; expected ; observation/output ; current hypothesis and if supported or rejected
exp1 ; expected1 ; obs1 ; some fancy hypothesis, supported
এটি কোনও কাগজে লেখা যেতে পারে, তবে, যদি আপনার পরীক্ষাগুলি একটি গণনামূলক কাঠামোর সাথে ফিট করে তবে আপনি সেই লগিং প্রক্রিয়াটি আংশিক বা সম্পূর্ণ স্বয়ংক্রিয় করতে গণ্য সরঞ্জামগুলি ব্যবহার করতে পারেন (বিশেষত আপনাকে যে ইনপুট ডেটাসেটগুলি বিশাল হতে পারে তা ট্র্যাক করতে সহায়তা করে এবং আউটপুট পরিসংখ্যান)।
স্বল্প শিক্ষার বক্ররেগ সহ পাইথনের একটি দুর্দান্ত প্রজননযোগ্যতা সরঞ্জাম অবশ্যই আইপিথন / জুপিটার নোটবুক ( % লগন এবং% লগস্টার্ট ম্যাজিকগুলি ভুলে যাবেন না )। টিপ: আপনার নোটবুকটি পুনরুত্পাদনযোগ্য কিনা তা নিশ্চিত করতে, কার্নেলটি পুনরায় চালু করুন এবং উপরের থেকে নীচে সমস্ত কক্ষ চালানোর চেষ্টা করুন (বোতাম সমস্ত সেল চালান): যদি এটি কাজ করে তবে একটি সংরক্ষণাগার ফাইলে ("হিমায়িত") সমস্ত কিছু সংরক্ষণ করুন, অন্যথায় উল্লেখযোগ্যভাবে আপনার যদি ত্রুটিগুলি এড়ানোর জন্য অ-রৈখিক এবং অ ক্রমহীন এবং সুস্পষ্ট ফ্যাশনে ঘর চালনা করতে হয় তবে আপনাকে কিছুটা পুনরায় কাজ করতে হবে।
আরেকটি দুর্দান্ত সরঞ্জাম যা খুব সাম্প্রতিক (২০১৫) তা রিসিপি , যা সুমাত্রার মতো (নীচে দেখুন) তবে পাইথনের জন্য বিশেষভাবে তৈরি। আমি জানি না এটি জুপিটার নোটবুকগুলির সাথে কাজ করে কিনা তবে আমি জানি যে লেখক প্রায়শই সেগুলি ব্যবহার করেন তাই আমার ধারণা যে এটি বর্তমানে সমর্থিত না হলে এটি ভবিষ্যতে হবে will
গিটটিও দুর্দান্ত এবং এটি পাইথনের সাথে আবদ্ধ নয়। এটি আপনাকে কেবলমাত্র আপনার সমস্ত পরীক্ষা-নিরীক্ষা, কোড, ডেটাসেট, পরিসংখ্যান ইত্যাদির ইতিহাস রাখতে সহায়তা করবে না বরং বৈজ্ঞানিক ব্যবহার করে আপনাকে ( গিট পিক্যাক্স ) বজায় রাখার জন্য সহযোগিতা ( দোষ ) এবং ডিবাগ ( গিট - বাইসেক্ট ) সরবরাহ করতে সহায়তা করবে ডিবাগিংয়ের পদ্ধতি ( ডেল্টা ডিবাগিং নামে পরিচিত )। এখানে কোনও কল্পিত গবেষক তার নিজের পরীক্ষা-নিরীক্ষার লগিং সিস্টেম তৈরির চেষ্টা করার গল্পটি এখানে গিটের মুখরূপে পরিণত না হওয়া অবধি রয়েছে।
যে কোনও ভাষার সাথে ( পিপিতে পাইথন এপিআই সহ ) কাজ করে এমন একটি সাধারণ সরঞ্জাম হ'ল সুমাত্রা , যা আপনাকে বিশেষভাবে প্রতিরূপযোগ্য গবেষণা করতে সহায়তা করার জন্য ডিজাইন করা হয়েছে ( যথাযথ একই কোড এবং সফটওয়্যারগুলির দ্বারা একই ফলাফল উত্পন্ন করার জন্য প্রতিরূপ লক্ষ্য), যেখানে পুনরুত্পাদনীয়তা উত্পাদন করতে পারে কোনও মাধ্যম দেওয়া একই ফলাফল, যা অনেক বেশি শক্ত এবং সময় সাপেক্ষ এবং স্বয়ংক্রিয়ভাবে কার্যকর নয়)।
সুমাত্রা কীভাবে কাজ করে তা এখানে: আপনি সুমাত্রার মাধ্যমে যে প্রতিটি পরীক্ষা নিরীক্ষণ করেন, এই সফ্টওয়্যারটি প্রায়শই ভিডিওগেমগুলিতে পাওয়া "সেভ গেম স্টেট" এর মতো কাজ করবে। আরও স্পষ্টভাবে, এটি সংরক্ষণ করবে:
- আপনি সরবরাহ করেছেন সমস্ত পরামিতি;
- আপনার পুরো পরীক্ষামূলক অ্যাপ্লিকেশন এবং কনফিগার ফাইলগুলির সঠিক উত্সকোডের অবস্থা;
- আউটপুট / প্লট / ফলাফল এবং আপনার পরীক্ষামূলক অ্যাপ্লিকেশন দ্বারা উত্পাদিত কোনও ফাইল।
এটি আপনার প্রতিটি পরীক্ষার জন্য টাইমস্ট্যাম্প এবং অন্যান্য মেটাডেটাসের সাথে একটি ডাটাবেস তৈরি করবে, যা আপনি পরে ওয়েবজিইউআই ব্যবহার করে ক্রল করতে পারেন। যেহেতু সুমাত্রা আপনার নির্দিষ্ট সময়ের জন্য নির্দিষ্ট সময়ে নির্দিষ্ট পরীক্ষার জন্য আপনার অ্যাপ্লিকেশনটির পুরো রাজ্যটি সংরক্ষণ করেছিল, আপনি যে কোডটি চান তার যে কোনও নির্দিষ্ট ফলাফল তৈরি করে এমন কোডটি পুনরুদ্ধার করতে পারেন, সুতরাং আপনার স্বল্প ব্যয়ে প্রতিলিপিযোগ্য গবেষণা রয়েছে (স্টোরেজ বাদে যদি আপনি বিশাল ডেটাসেটগুলিতে কাজ করেন তবে আপনি প্রতিবার সবকিছু সংরক্ষণ করতে না চাইলে ব্যতিক্রমগুলি কনফিগার করতে পারেন)।
আর একটি দুর্দান্ত সরঞ্জাম হ'ল জিনোমের জিটজিস্ট (পূর্বে পাইথনে কোডড কিন্তু এখন ভালাকে পোর্ট করা হয়েছে), একটি অল-কম্পাসিং অ্যাকশন জার্নালিং সিস্টেম, যা আপনি যা কিছু করেন তা রেকর্ড করে এবং এটি মেশিন লার্নিংকে সময়কালের জন্য সংক্ষিপ্তসার হিসাবে ব্যবহার করতে পারে যা আপনি আইটেমগুলির মধ্যে সম্পর্ক চান সাদৃশ্য এবং ব্যবহারের নিদর্শনগুলির উপর, যেমন "গত বছরের এক মাস ধরে আমি এক্স প্রকল্পে কাজ করার সময় আমার কাছে সবচেয়ে প্রাসঙ্গিক কী ছিল?" এর মতো প্রশ্নের উত্তর দেওয়া ? । মজার বিষয় হচ্ছে, জিম ডেস্কটপ উইকি , এভারনোটের অনুরূপ একটি নোট গ্রহণকারী অ্যাপ্লিকেশন, জিটজিস্টের সাথে কাজ করার জন্য একটি প্লাগইন রয়েছে।
শেষ পর্যন্ত, আপনি গীত বা সুমাত্রা বা অন্য যে কোনও সফ্টওয়্যার আপনি চান সেগুলি ব্যবহার করতে পারেন, তারা আপনাকে একই প্রতিরূপ দক্ষতা সম্পর্কে সরবরাহ করবে তবে সুমাত্রা বিশেষত বৈজ্ঞানিক গবেষণার জন্য তৈরি করা হয়েছে যাতে এটি ওয়েব জিইউআইয়ের মতো কয়েকটি অভিনব সরঞ্জাম সরবরাহ করতে পারে আপনার ফলাফলগুলি, যদিও কোডটি রক্ষণাবেক্ষণের দিকে গিটটি আরও উপযুক্ত tail অথবা অবশ্যই আপনি উভয় ব্যবহার করতে পারেন!
/ সম্পাদনা: ডিজাইন এখানে একটি খুব গুরুত্বপূর্ণ পয়েন্ট স্পর্শ: আপনার সেটআপ এর অনুলিপি আপনার অ্যাপ্লিকেশন এর প্রতিরূপতা হিসাবে গুরুত্বপূর্ণ। অন্য কথায়, আপনার কমপক্ষে আপনার সঠিক সংস্করণ এবং আপনার প্ল্যাটফর্মের বিশদ সহ আপনি ব্যবহৃত গ্রন্থাগার এবং সংকলকগুলির একটি সম্পূর্ণ তালিকা সরবরাহ করা উচিত ।
ব্যক্তিগতভাবে পাইথনের সাথে বৈজ্ঞানিক কম্পিউটিংয়ে আমি জানতে পেরেছি যে গ্রন্থাগারগুলি সহ একটি অ্যাপ্লিকেশন প্যাকেজিং করা খুব বেদনাদায়ক, সুতরাং আমি এখন অ্যানাকোন্ডা (দুর্দান্ত প্যাকেজ ম্যানেজার কনডা সহ ) অল-ইন-ওয়ান বৈজ্ঞানিক পাইথন প্যাকেজটি ব্যবহার করি , এবং কেবল ব্যবহারকারীদের একই প্যাকেজটি ব্যবহার করার পরামর্শ দিন। আরেকটি সমাধান একটি স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে একটি জেনারেট করতে প্রদান হতে পারে virtualenv , বা বাণিজ্যিক ব্যবহার সবকিছু প্যাকেজ Docker অ্যাপ্লিকেশন হিসেবে dsign দ্বারা উদাহৃত বা ওপেনসোর্স দ্য ভাগ্রান্ট (সঙ্গে উদাহরণস্বরূপ pylearn2-ইন-এ-বক্স যা দ্য ভাগ্রান্ট ব্যবহার একটি সহজে পুনরায় বিতরণ উত্পাদন করতে ভার্চুয়াল পরিবেশ প্যাকেজ)।
পরিশেষে, আপনার প্রয়োজনমতো আপনার পুরোপুরি কাজের পরিবেশ রয়েছে তা নিশ্চিত করতে আপনি ভার্চুয়াল মেশিন তৈরি করতে পারেন (ভার্চুয়ালবক্স দেখুন) এবং আপনি নিজের পরীক্ষার ভিতরে চালানোর জন্য মেশিনের অবস্থা (স্ন্যাপশট) সংরক্ষণ করতে পারেন। তারপরে আপনি এই অন্তর্ভুক্ত থাকা সমস্ত কিছু সহ এই ভার্চুয়াল মেশিনটি ভাগ করে নিতে পারেন যাতে যে কেউ আপনার পরীক্ষারটিকে আপনার সঠিক সেটআপের সাথে প্রতিলিপি করতে পারে। এটি সম্ভবত কোনও সফ্টওয়্যার ভিত্তিক পরীক্ষার অনুলিপি করার সর্বোত্তম উপায়। ধারকগুলি আরও হালকা ওজনের বিকল্প হতে পারে তবে এগুলি পুরো পরিবেশকে অন্তর্ভুক্ত করে না, যাতে প্রতিলিপি বিশ্বস্ততা কম শক্ত হয়।
/ সম্পাদনা 2: এখানে দুর্দান্ত ভিডিওর সংক্ষিপ্তসার রয়েছে (ডিবাগিংয়ের জন্য তবে এটি গবেষণার ক্ষেত্রেও প্রয়োগ করা যেতে পারে) পুনরুত্পাদনযোগ্য গবেষণা করার জন্য কী কী মৌলিক: আপনার পরীক্ষাগুলি এবং বৈজ্ঞানিক পদ্ধতির একে অপরের পদক্ষেপগুলিতে লগইন করা, এক ধরণের "সুস্পষ্ট পরীক্ষা-নিরীক্ষা" ।