নিউরাল নেটওয়ার্কগুলির জন্য সেরা অজগর গ্রন্থাগার


130

আমি বিভিন্ন মেশিন লার্নিংয়ের সমস্যাগুলি সমাধান করতে নিউরাল নেটওয়ার্কগুলি ব্যবহার করছি। আমি পাইথন এবং পাইব্রাইন ব্যবহার করছি তবে এই গ্রন্থাগারটি প্রায় বন্ধ রয়েছে। পাইথনে আরও ভাল বিকল্প আছে?



5
এবং এখন একটি নতুন প্রতিযোগী আছে - সাইকিত নিউরনেটওয়ার্ক : এখনও কারও সাথে এটির অভিজ্ঞতা আছে? এটি পাইলার্ন 2 বা থিয়েওনের সাথে কীভাবে তুলনা করে?
রাফায়েল_স্পেরিকুটিয়া

1
@ এমরে: স্কেলযোগ্য উচ্চ কার্য সম্পাদনের চেয়ে আলাদা। এর অর্থ সাধারণত আপনি ইতিমধ্যে একই ধরণের আরও সংস্থান যুক্ত করে বড় সমস্যাগুলি সমাধান করতে পারেন। আপনার 100 টি মেশিন উপলব্ধ থাকলেও স্কেলাবিলিটিটি জিততে পারে, এমনকি যদি আপনার সফ্টওয়্যারগুলির প্রতিটির চেয়ে 20 গুণ কম ধীরে ধীরে থাকে। । । (যদিও আমি বরং 5 টি মেশিনের জন্য মূল্য দিয়েছি এবং জিপিইউ এবং মাল্টি-মেশিন স্কেল উভয়েরই সুবিধা পেয়েছি)।
নিল স্লেটার

2
সুতরাং একাধিক জিপিইউ ব্যবহার করুন ... নিউরাল নেটওয়ার্কগুলিতে গুরুতর কাজের জন্য কেউ সিপিইউ ব্যবহার করে না। আপনি যদি গুগল-স্তরের পারফরম্যান্স কোনও ভাল জিপিইউ বা দু'এর বাইরে পেতে পারেন তবে হাজার হাজার সিপিইউ দিয়ে আপনি কী করতে যাচ্ছেন?
এমরে

4
আমি এই প্রশ্নটিকে অফ-টপিক হিসাবে বন্ধ করতে ভোট দিচ্ছি কারণ সুপারিশ এবং "সেরা" প্রশ্নগুলি ফর্ম্যাটে কেন কাজ করে না তার একটি পোস্টার উদাহরণ হয়ে উঠেছে। স্বীকৃত উত্তরটি 12 মাস পরে সত্যই সঠিক নয় (পাইলেয়ার 2 তখন "সক্রিয় উন্নয়ন" থেকে "গ্রহণযোগ্য প্যাচগুলিতে চলে গেছে")
নীল স্লেটার

উত্তর:


116

আপডেট: ল্যান্ডস্কেপটি বেশ খানিকটা পরিবর্তিত হয়েছে যেহেতু আমি জুলাই'১৪ এ এই প্রশ্নের উত্তর দিয়েছি এবং কিছু নতুন খেলোয়াড় স্থানটিতে প্রবেশ করেছে। বিশেষত, আমি চেক আউট করার সুপারিশ করব:

তাদের প্রত্যেকের তাদের শক্তি এবং দুর্বলতা রয়েছে, তাই তাদের সমস্ত কিছু দেখুন এবং দেখুন যে আপনার ব্যবহারের ক্ষেত্রে সবচেয়ে উপযুক্ত। যদিও আমি এক বছর আগে পাইলিয়ার 2 ব্যবহার করার পরামর্শ দিয়েছি, সম্প্রদায়টি আর সক্রিয় নেই তাই আমি অন্য কোথাও দেখার পরামর্শ দিই। উত্তরের আমার মূল প্রতিক্রিয়াটি নীচে অন্তর্ভুক্ত করা হয়েছে তবে এই মুহুর্তে এটি মূলত অপ্রাসঙ্গিক।


পাইলার্ন ২ সাধারণত নিউরাল নেটওয়ার্ক এবং পাইথনের গভীর শিক্ষার পছন্দের গ্রন্থাগার হিসাবে বিবেচিত হয়। এটি ব্যবহারের সহজতার চেয়ে সহজ বৈজ্ঞানিক পরীক্ষার জন্য তৈরি করা হয়েছে, তাই শিখনের বক্ররেখা বরং খাড়া, তবে আপনি যদি আপনার সময় নেন এবং টিউটোরিয়ালগুলি অনুসরণ করেন তবে আমি মনে করি যে এটির কার্যকারিতাটি দিয়ে আপনি খুশি হবেন। স্ট্যান্ডার্ড মাল্টিলেয়ার পারসেপ্ট্রনস থেকে সীমাবদ্ধ বল্টজম্যান মেশিনগুলি থেকে কনভোলিউশনাল নেট থেকে অটোরকোডার্স পর্যন্ত সমস্ত কিছুই সরবরাহ করা হয়েছে। দুর্দান্ত জিপিইউ সমর্থন রয়েছে এবং সবকিছু থিয়ানো শীর্ষে নির্মিত হয়েছে, তাই পারফরম্যান্স সাধারণত বেশ ভাল। PyLearn2 জন্য উৎস পাওয়া যায় GitHub উপর

সচেতন থাকুন যে মুহুর্তে পাইলাইন 2 এর পাইব্রেনের বিপরীত সমস্যা রয়েছে - পরিত্যক্ত হওয়ার পরিবর্তে পাইলিয়ার 2 সক্রিয় বিকাশের অধীনে রয়েছে এবং ঘন ঘন পরিবর্তনের সাপেক্ষে।


মনে রাখবেন যে নোলার্ন হ'ল একটি মোড়ক যা অন্যান্য লাইব্রেরিগুলিকে ব্যবহার করতে সহজ করে এবং স্কলারনের সাথে সামঞ্জস্য করে। এটি নিজেই একটি নিউরাল নেটওয়ার্ক লাইব্রেরি নয়, তবে তা প্রস্তাবিত। লেখার সময় এটি বেশিরভাগ লাসাগেনের জন্য তবে কিছু ক্যাফে কোড এবং সম্ভবত অন্য কিছু রয়েছে।
চিহ্নিত করুন

মার্কস নোলর্ন সম্পর্কে মন্তব্য মত একই কিনা তা নিশ্চিত নন, তবে github.com/aigamedev/scikit-neuranetwork এই জিনিসগুলির একগুচ্ছ জন্য একটি মোড়কের কিছু রূপ form
onaclov2000


বাহ, এটি দুই বছরেরও কম সময়ের পরে বেশ পুরানো
মার্টিন থোমা

1
পিটর্চ ছেড়ে যাবেন কেন?
ফ্রান্সেস্কো পেগোোরো

37

গুগলের টেনসর ফ্লো ( ডক্স ) হ'ল স্বয়ংক্রিয় পার্থক্য another আমি আমার ব্লগে গুগল টেনসর ফ্লো সম্পর্কে কিছু দ্রুত চিন্তা লিখেছি , তাদের টিউটোরিয়ালে তারা রয়েছে এমন MNIST উদাহরণের সাথে with

আরও দেখুন: আমার টেনসরফ্লো এক্সওআর টিউটোরিয়াল

লাসাগন ( ডক্স ) খুব সুন্দর, কারণ এটি থানোও ব্যবহার করে (→ আপনি জিপিইউ ব্যবহার করতে পারেন) এবং এটি ব্যবহার সহজ করে তোলে। লাসাগনের লেখক ক্যাগল গ্যালাক্সি চ্যালেঞ্জ জিতলেন, যতদূর আমি জানি। নোলার্নের সাথে এটি দুর্দান্ত । এখানে একটি এমএনআইস্ট উদাহরণ নেটওয়ার্ক রয়েছে:

#!/usr/bin/env python

import lasagne
from lasagne import layers
from lasagne.updates import nesterov_momentum
from nolearn.lasagne import NeuralNet

import sys
import os
import gzip
import pickle
import numpy


PY2 = sys.version_info[0] == 2

if PY2:
    from urllib import urlretrieve

    def pickle_load(f, encoding):
        return pickle.load(f)
else:
    from urllib.request import urlretrieve

    def pickle_load(f, encoding):
        return pickle.load(f, encoding=encoding)

DATA_URL = 'http://deeplearning.net/data/mnist/mnist.pkl.gz'
DATA_FILENAME = 'mnist.pkl.gz'


def _load_data(url=DATA_URL, filename=DATA_FILENAME):
    """Load data from `url` and store the result in `filename`."""
    if not os.path.exists(filename):
        print("Downloading MNIST dataset")
        urlretrieve(url, filename)

    with gzip.open(filename, 'rb') as f:
        return pickle_load(f, encoding='latin-1')


def load_data():
    """Get data with labels, split into training, validation and test set."""
    data = _load_data()
    X_train, y_train = data[0]
    X_valid, y_valid = data[1]
    X_test, y_test = data[2]
    y_train = numpy.asarray(y_train, dtype=numpy.int32)
    y_valid = numpy.asarray(y_valid, dtype=numpy.int32)
    y_test = numpy.asarray(y_test, dtype=numpy.int32)

    return dict(
        X_train=X_train,
        y_train=y_train,
        X_valid=X_valid,
        y_valid=y_valid,
        X_test=X_test,
        y_test=y_test,
        num_examples_train=X_train.shape[0],
        num_examples_valid=X_valid.shape[0],
        num_examples_test=X_test.shape[0],
        input_dim=X_train.shape[1],
        output_dim=10,
    )


def nn_example(data):
    net1 = NeuralNet(
        layers=[('input', layers.InputLayer),
                ('hidden', layers.DenseLayer),
                ('output', layers.DenseLayer),
                ],
        # layer parameters:
        input_shape=(None, 28*28),
        hidden_num_units=100,  # number of units in 'hidden' layer
        output_nonlinearity=lasagne.nonlinearities.softmax,
        output_num_units=10,  # 10 target values for the digits 0, 1, 2, ..., 9

        # optimization method:
        update=nesterov_momentum,
        update_learning_rate=0.01,
        update_momentum=0.9,

        max_epochs=10,
        verbose=1,
        )

    # Train the network
    net1.fit(data['X_train'], data['y_train'])

    # Try the network on new data
    print("Feature vector (100-110): %s" % data['X_test'][0][100:110])
    print("Label: %s" % str(data['y_test'][0]))
    print("Predicted: %s" % str(net1.predict([data['X_test'][0]])))


def main():
    data = load_data()
    print("Got %i testing datasets." % len(data['X_train']))
    nn_example(data)

if __name__ == '__main__':
    main()

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


22

পাইলার্ন থিওনের উপর নির্ভর করে এবং লাইব্রেরিটি ব্যবহারের অন্যান্য উত্তরে যেমন উল্লেখ করা হয়েছে ততক্ষণ পর্যন্ত আপনি এটি ধরে না রাখেন বেশ জটিল is

এর মধ্যে আমি থ্যানেটস ব্যবহার করার পরামর্শ দেব । এটি থিয়ানো শীর্ষেও নির্মিত, তবে এটির সাথে কাজ করা আরও সহজ। এটি সত্য হতে পারে, এটিতে পাইনার্নের সমস্ত বৈশিষ্ট্য নেই তবে প্রাথমিক কাজের জন্য এটি যথেষ্ট।

এছাড়াও এটি ওপেন সোর্স, যাতে সাহস করে আপনি ফ্লাইতে কাস্টম নেটওয়ার্ক যুক্ত করতে পারেন। :)

সম্পাদনা: ডিসেম্বর 2015. সম্প্রতি আমি কেরাস ব্যবহার শুরু করেছি । এটি থিয়েটসের চেয়ে কিছুটা নিচু স্তর, তবে আরও শক্তিশালী। প্রাথমিক পরীক্ষার জন্য থিয়েটস উপযুক্ত। তবে আপনি যদি এএনএন কেরাসের ক্ষেত্রে কিছু গবেষণা করতে চান তবে অনেক বেশি নমনীয়। প্লাস কেরারা ব্যাকএন্ড হিসাবে টেনসরফ্লো ব্যবহার করতে পারে ।


19

টেনসরফ্লো (গুগল দ্বারা প্রকাশিত , ২০১১-১১-০৯ এ প্রকাশিত ) আশাব্যঞ্জক দেখাচ্ছে।

  • ওপেন সোর্স (অ্যাপাচি ২.০ লাইসেন্স) ( গিটহাব )
  • পাইথন (সি ++ এ ব্যাকএন্ড)
  • CPU- র / GPU
  • স্বয়ং-পার্থক্য
  • পোর্টেবল (এমনকি মোবাইল ডিভাইসে কাজ করে)

এখানে চিত্র বর্ণনা লিখুন

অবগতির জন্য:


3
Aargh! আপনি আমাকে এটি মারলেন :) প্রকৃতপক্ষে, টেনসরফ্লো খুব ভাল।
থিয়ানো

@ ডাউনি 33 "সংকলন সময়" বলতে কী বোঝ? থিয়ানো, টর্চ এবং বেশিরভাগ সময় টেনসরফ্লোও ব্যাখ্যামূলক ফ্যাশনে ব্যবহৃত হয়।
মার্টিন থোমা

@ মুস অন্তত থিয়ানোতে কিছু কোড সি ++ বা সিউডিএ-তে সংকলিত।
ফ্রাঙ্ক ডারননকোর্ট

@ ফ্র্যাঙ্কডেরননকোর্ট ঠিক আছে, তবে কি সেই সময়টি আসলেই গুরুত্বপূর্ণ? আপনার যখন প্রশিক্ষণটি প্রায় 20 মিনিটের জন্য চলমান থাকে, তখন কিউডিএ কোড উত্পন্ন করার জন্য কেবল কয়েক সেকেন্ড সময় লাগে না? (আমি এটি কীভাবে পরিমাপ করতে পারি?)
মার্টিন থোমা

2
থিয়ানোতে @ মুজে সিওডিএ / সি ++ কোড উত্পন্ন করতে যথাযথ আকারের মডেলের জন্য প্রায় 30 সেকেন্ড থেকে এক মিনিট সময় নেয়। এটি ডিবাগিংকে বেশ ক্লান্তিকর করে তোলে। CUDA / C ++ কোড উত্পন্ন সময় নির্ধারণের জন্য, আপনি একটি থিয়ানো ফাংশন সংকলনের আগে / পরে সময় নিতে পারেন।
ফ্রাঙ্ক ডারননকোর্ট

8

পাইলেয়ারন 2 টি পছন্দসই লাইব্রেরি বলে মনে হচ্ছে, তবে আমি তাদের ওয়াইএএমএল কনফিগারেশন ফাইলগুলি অফ-পপিংয়ের মধ্যে খুঁজে পাই।

পাইথন নিজেই প্রোটোটাইপিংয়ের জন্য একটি সহজ ভাষা হিসাবে ডিজাইন করা হয়েছিল, আপনি নিজের নেটওয়ার্ক বৈশিষ্ট্যগুলি সংজ্ঞায়িত করতে এটি ব্যবহার করবেন না কেন ? আমাদের স্বতঃপূরণ সহ দুর্দান্ত সম্পাদক রয়েছে যা আপনার জীবনকে আরও সহজ করে তুলবে এবং পাইথন সি ++ এর মতো নয় যেখানে আপনার কোড চালানোর আগে আপনাকে দীর্ঘ বিল্ডগুলি শেষ করতে অপেক্ষা করতে হবে।

অন্যদিকে YAML ফাইলগুলি আপনাকে কোনও প্রকার সহায়তা ছাড়াই একটি স্ট্যান্ডার্ড পাঠ্য সম্পাদক ব্যবহার করে সম্পাদনা করতে হবে এবং এটি শেখার বক্ররেখাকে আরও খাড়া করে তোলে।

আমি বড় ছবিটি অনুপস্থিত হতে পারি তবে তারা এখনও কী চিন্তা করছিল তা আমি এখনও বুঝতে পারি না, আমি মনে করি না কোডে প্রোটোটাইপিং আরও ধীর হবে। যে কারণে আমি থিয়েটস বিবেচনা করছি বা সরাসরি থিয়ানো ব্যবহার করছি।


1
প্রথমে আমি ওয়াইএএমএল ফাইলগুলিও কিছুটা ছুঁড়ে ফেলেছি তবে কনফিগারেশন এবং কোডের মধ্যে পরিষ্কার বিচ্ছিন্নতা পছন্দ করতে পেরেছি। YAML ফাইল ব্যতীত আপনি পাইলার্ন 2 ব্যবহার করতে পছন্দ করতে পারেন, যদিও এই বিকল্পটি ভালভাবে নথিভুক্ত নয়।
ম্যাডিসন

সংক্ষেপে, তবে, এই সাধারণ নকশার সিদ্ধান্তের কারণে আমি গ্রন্থাগারটি বাতিল করব না।
ম্যাডিসন মে

ম্যাডিসন হিসাবে, কনফিগারেশন এবং কোড পৃথক করা সম্পর্কে সব উল্লেখ করেছে। আপনি যদি একটি নেটওয়ার্ক চালাচ্ছিলেন এবং সমস্ত পরামিতিগুলি জানতেন তবে এটি ঠিক হবে but বিভাজনকারী কনফিগারেশন এবং কোডের মাধ্যমে আপনি একাধিক নেটওয়ার্ক চালাতে পারবেন - বিভিন্ন লুকানো নিউরন ইত্যাদি,
seanv507

8

আমি ব্লকগুলি পছন্দ করি যা থিয়ানো শীর্ষেও নির্মিত। পাইLearn2 এর চেয়ে আরও বেশি অ্যাক্সেসযোগ্য উপায় এবং লাসাগনের চেয়ে সমৃদ্ধ বৈশিষ্ট্য। খুব সুন্দরভাবে লেখা।

জানুয়ারী ২০১ 2016 আপডেট হয়েছে:

লেখার সময় কেরাসের মধ্যে সবচেয়ে গতি ছিল। এটি অত্যন্ত মডুলার এবং এটি থানো এবং টেনসরফ্লো উভয় ক্ষেত্রেই চলতে পারে, এটি দুর্দান্ত সুযোগ দেয়।


হ্যাঁ, আমি বর্তমানে পাইনার্ন 2 দিয়ে ব্লকগুলির প্রস্তাব দিচ্ছি যদি আপনি থিওোনাকে বুঝতে কিছুটা সময় নিচ্ছেন।
মেডিসন

মহান মানুষ দ্বারা নির্মিত দুর্দান্ত গ্রন্থাগার।
মেডিসন

6

এমএক্স নেট :

  • সি ++ তে লিখিত আছে তবে পাইথনে একটি এপিআই রয়েছে (এবং কয়েকটি প্রোগ্রামিং ভাষা যেমন আর, জুলিয়া এবং গো)
  • একাধিক জিপিইউ পর্যন্ত স্কেল এবং অটো সমান্তরালতার সাথে বিতরণ সেটিং।
  • স্বয়ংক্রিয় পার্থক্য
  • শালীন অভিনয়:

এখানে চিত্র বর্ণনা লিখুন


5

আমি যা শুনেছি তা থেকে পাইলার্ন 2 সম্ভবত বেশিরভাগ মানুষের পছন্দের লাইব্রেরি হতে পারে। এটি আমাকে কয়েক মাস আগে সাম্প্রতিক একটি ব্লগ পোস্টের স্মরণ করিয়ে দেয় যা সংক্ষিপ্ত ব্যাখ্যার সাথে বিভিন্ন মেশিন লার্নিংয়ের লাইব্রেরি তালিকাবদ্ধ করে

https://www.cbinsights.com/blog/python-tools-machine-learning

আপনি যে বিভাগটি এখানে আগ্রহী তা হতে পারে "ডিপ লার্নিং"। পাইয়ার্ন 2 সম্পর্কে তিনি লিখেছেন

PyLearn2

থিয়ানো-র উপরে আরও একটি লাইব্রেরি নির্মিত হয়েছে, যার নাম পাইলিয়ার ২, যা থিয়ানোতে মডিউলারিটি এবং কনফিগারেশনে আসে যেখানে আপনি বিভিন্ন কনফিগারেশন ফাইলের মাধ্যমে আপনার নিউরাল নেটওয়ার্ক তৈরি করতে পারেন যাতে বিভিন্ন পরামিতি পরীক্ষা করা আরও সহজ হয়ে যায়। যুক্তিযুক্তভাবে, এটি কনফিগারেশন ফাইলে নিউরাল নেটওয়ার্কের পরামিতি এবং বৈশিষ্ট্যগুলি পৃথক করে আরও পরিমিততা সরবরাহ করে।


5

আমি আমার ব্যক্তিগত কিছু পছন্দের বিবরণে এই পোস্টটি লিখেছিলাম:

পাইথনের সেরা মেশিন লার্নিং

যেহেতু 30 টিরও বেশি বিভিন্ন গ্রন্থাগার উল্লেখ করা হয়েছে, আমি সেগুলি এখানে পোস্ট করব না তবে এগুলি সর্বাধিক জনপ্রিয়:

(দুঃখিত, আমার প্রতিনিধি <10 ... গিথুব রেপোসের সাথে লিঙ্ক করতে পারে না)

সম্পাদনা করুন: গিথুব ভান্ডারে লিঙ্ক যুক্ত হয়েছে।


আপনি কি আমার মন্তব্যে লিঙ্কটি এখানে মন্তব্য করতে পারেন? আমি সম্পাদনা করতে এবং আপনার উত্তর থেকে এটি যোগ হইবে
Dawny33

এখন যেহেতু আমার উত্তরটি অগ্রাহ্য হয়েছিল, এখন আমার কাছে প্রয়োজনীয় প্রতিনিধি রয়েছে এবং লিঙ্কগুলি যুক্ত করতে সক্ষম হয়েছি। ধন্যবাদ যদিও!
শ্রোবিনসন

আপনি কি নিশ্চিত যে স্কাইকিট-লার্ন একটি ডিএন প্যাকেজ?
স্মৃতিচেস

4

নিয়ন :


4

আরও কিছু সংস্থান যুক্ত করতে। স্নায়বিক নেটওয়ার্ক এবং গভীর নিউরাল নেটওয়ার্কের বিভিন্ন প্যাকেজের মধ্যে পার্থক্য অধ্যয়ন করার জন্য সম্প্রতি একটি কাগজ ছিল।

এখানে আপনি তথ্য খুঁজে পেতে পারেন । দেখে মনে হচ্ছে টর্চ এবং টেনসরফ্লো বিজয়ী।

দ্রষ্টব্য: এরা সকলেই পাইথনে নয়। তবে আমি আলোচনাটি খুলতে পোস্ট করেছি।


2

মাইক্রোসফ্ট কগনিশন টুলকিট (পূর্বে সিএনটিকে নামে পরিচিত) এর একটি পাইথন এপিআই রয়েছে । অন্যান্য জিনিসের মধ্যে এটি মাল্টি-জিপিইউয়ের পক্ষে ভাল বলে মনে করা হচ্ছে :

এখানে চিত্র বর্ণনা লিখুন

উদাহরণ এবং টিউটোরিয়ালগুলি https://github.com/Mic Microsoft/CNTK/tree/master/bindings/python এ পাওয়া যাবে


2

ডাইনেট: ডায়নামিক নিউরাল নেটওয়ার্ক টুলকিট। {1} থেকে:

আমরা নেটওয়ার্ক কাঠামোর গতিশীল ঘোষণার ভিত্তিতে নিউরাল নেটওয়ার্ক মডেলগুলি বাস্তবায়নের জন্য একটি সরঞ্জামকিট ডাইনেট বর্ণনা করি। থানো, সিএনটিকে, এবং টেনসরফ্লো এর মতো টুলকিটগুলিতে স্ট্যাটিক ডিক্লারেশন স্ট্র্যাটেজিতে ব্যবহৃত হয়, ব্যবহারকারী প্রথমে একটি গণনা গ্রাফ (গণনার প্রতীকী উপস্থাপনা) সংজ্ঞায়িত করেন এবং তারপরে উদাহরণগুলি এমন একটি ইঞ্জিনে খাওয়ানো হয় যা এই গণনা সম্পাদন করে এবং এর ডেরিভেটিভগুলি গণনা করে । ডাইনেটের গতিশীল ঘোষণা কৌশলটিতে, গণনা গ্রাফ নির্মাণ বেশিরভাগ স্বচ্ছ, নেটওয়ার্ক আউটপুটগুলি গণনাকারী প্রসেসরিজ কোড সম্পাদন করে স্পষ্টভাবে নির্মিত হয় এবং ব্যবহারকারী প্রতিটি ইনপুট জন্য পৃথক নেটওয়ার্ক কাঠামো ব্যবহার করতে পারেন। গতিশীল ঘোষণা এইভাবে আরও জটিল নেটওয়ার্ক আর্কিটেকচারের বাস্তবায়নের সুবিধার্থে, এবং ডাইনেট বিশেষত তাদের পছন্দসই প্রোগ্রামিং ভাষার (সি ++ বা পাইথন) ভাষাগুলি এমনভাবে উপস্থাপন করতে যাতে তাদের মডেলগুলি প্রয়োগ করতে দেয় to গতিশীল ঘোষণার সাথে একটি চ্যালেঞ্জ হ'ল প্রতিটি প্রশিক্ষণের উদাহরণের জন্য প্রতীকী গণনা গ্রাফটি নতুনভাবে সংজ্ঞায়িত করা হয়েছে, সুতরাং এর নির্মাণে অবশ্যই কম ওভারহেড থাকা উচিত। এটি অর্জনের জন্য, ডাইনেটের একটি অনুকূলিত সি ++ ব্যাকএন্ড এবং লাইটওয়েট গ্রাফের উপস্থাপনা রয়েছে। পরীক্ষাগুলি দেখায় যে ডাইনেটের গতি স্ট্যাটিক ডিক্লারেশন টুলকিটগুলির তুলনায় দ্রুত এবং তুলনীয় এবং অন্য গতিশীল ডিক্লারেশন টুলকিট চাইনারের চেয়ে উল্লেখযোগ্যভাবে দ্রুত faster ডাইনেট অ্যাপাচি ২.০ লাইসেন্সের অধীনে উন্মুক্ত উত্স প্রকাশিত এবং এতে উপলব্ধ গতিশীল ঘোষণার সাথে একটি চ্যালেঞ্জ হ'ল প্রতিটি প্রশিক্ষণের উদাহরণের জন্য প্রতীকী গণনা গ্রাফটি নতুনভাবে সংজ্ঞায়িত করা হয়েছে, সুতরাং এর নির্মাণে অবশ্যই কম ওভারহেড থাকা উচিত। এটি অর্জনের জন্য, ডাইনেটের একটি অনুকূলিত সি ++ ব্যাকএন্ড এবং লাইটওয়েট গ্রাফের উপস্থাপনা রয়েছে। পরীক্ষাগুলি দেখায় যে ডাইনেটের গতি স্ট্যাটিক ডিক্লারেশন টুলকিটগুলির তুলনায় দ্রুত এবং তুলনীয় এবং অন্য গতিশীল ডিক্লারেশন টুলকিট চাইনারের চেয়ে উল্লেখযোগ্যভাবে দ্রুত faster ডাইনেট অ্যাপাচি ২.০ লাইসেন্সের অধীনে উন্মুক্ত উত্স প্রকাশিত এবং এতে উপলব্ধ গতিশীল ঘোষণার সাথে একটি চ্যালেঞ্জ হ'ল প্রতিটি প্রশিক্ষণের উদাহরণের জন্য প্রতীকী গণনা গ্রাফটি নতুনভাবে সংজ্ঞায়িত করা হয়েছে, সুতরাং এর নির্মাণে অবশ্যই কম ওভারহেড থাকা উচিত। এটি অর্জনের জন্য, ডাইনেটের একটি অনুকূলিত সি ++ ব্যাকএন্ড এবং লাইটওয়েট গ্রাফের উপস্থাপনা রয়েছে। পরীক্ষাগুলি দেখায় যে ডাইনেটের গতি স্ট্যাটিক ডিক্লারেশন টুলকিটগুলির তুলনায় দ্রুত এবং তুলনীয় এবং অন্য গতিশীল ডিক্লারেশন টুলকিট চাইনারের চেয়ে উল্লেখযোগ্যভাবে দ্রুত faster ডাইনেট অ্যাপাচি ২.০ লাইসেন্সের অধীনে উন্মুক্ত উত্স প্রকাশিত এবং এতে উপলব্ধএই HTTP ইউআরএল

এটি পূর্বে সিএনএন (যার পাইথন বাইন্ডিংয়ের নাম পাইকন) নামে পরিচিত ছিল।


তথ্যসূত্র:

  • {1} গ্রাহাম নেউবিগ, ক্রিস ডায়ার, যোয়াভ গোল্ডবার্গ, অস্টিন ম্যাথিউস, ওয়ালিদ আম্মার, অ্যান্টোনিওস আনাস্তাসোপল্লোস, মিগুয়েল ব্যালেস্টেরোস, ডেভিড চিয়াং, ড্যানিয়েল ক্লোথিয়াক্স, ট্রেভর কোহন, কেভিন দুহ, মানাল ফারুকী, সিন্থিয়া গণ, ড্যান গারেট, ইয়াংফেনগং , আধিগুন কুনকোরো, গৌরব কুমার, চৈতন্য মালাভিয়া, পল মিশেল, ইউসুক ওডা, ম্যাথু রিচার্ডসন, নওমি সাফরা, স্বভা স্বয়মদীপ্ত, পেনচেং ইয়িন। ডাইনেট: ডায়নামিক নিউরাল নেটওয়ার্ক টুলকিট। https://arxiv.org/abs/1701.03980

2

আমি আপনাকে টেনসরফ্লো ব্যবহার করার পরামর্শ দিচ্ছি যা শক্তিশালী বিকাশের অধীনে রয়েছে এবং গভীর শিক্ষাকে সমর্থন করে। আপনি উচ্চ-স্তরের নিউরাল নেটওয়ার্কগুলি এপিআই কেরাস ব্যবহার করতে পারেন যা টেনসরফ্লোতে শীর্ষে চলে এবং ব্যবহার করার জন্য খুব সহজ, কেবল একটি টিউটোরিয়াল চেষ্টা করে দেখুন এবং আপনি এটি পছন্দ করতে চলেছেন।


2

PyTorch

এটি ব্যবহারের সহজলভ্যতা এবং বেসিক পাইথনের সাথে মিলের কারণে এটি প্রচুর সমর্থন পাচ্ছে।

এটি সাধারণ পাইথনের মতোই "লাইন বাই লাইন" চালায় (ডায়নামিক গ্রাফগুলির মাধ্যমে) এবং সহজেই ডিবাগ করা যায় - এমনকি স্ট্যান্ডার্ড মুদ্রণ বিবৃতি ব্যবহার করে। এটি সুমকিট লার্নের মতো নম্পপি এবং অন্যান্য সুপরিচিত পাইথন ল্যাব্র্যাব্রিজগুলির সাথে খুব ভালভাবে সংহত করে।

যেহেতু এটি মডেলিংকে সহজ করে তোলে, সাধারণভাবে নতুন ধারণাগুলি প্রোটোটাইপিং এবং অন্বেষণের জন্য এটি দুর্দান্ত।

এটি একাধিক জিপিইউ সমর্থন করে এবং এটি সত্যিই সহজ উপায়ে করে।

পরীক্ষা করে দেখুন এখানে আরও বৈশিষ্ট্য


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


1

আপনার কর্মক্ষমতা তুলনা আগ্রহী, Soumith Chintala convnet benchmarks ইতিমধ্যে উল্লিখিত পাইথন অবকাঠামো (বেশ কয়েক আবরণ একটি সেট বজায় রাখে TensorFlow , chainer , নিয়ন , Theano ):


এটি একটি দুর্দান্ত সরঞ্জাম!
ফেডেরিকো ক্যাক্সিয়া

1

NeuPy কৃত্রিম নিউরাল নেটওয়ার্কগুলির একটি পাইথন গ্রন্থাগার। NeuPy একটি সাধারণ উপলব্ধি থেকে গভীর শেখার মডেলগুলিতে বিভিন্ন ধরণের নিউরাল নেটওয়ার্কগুলিকে সমর্থন করে।

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