نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
استفاده از مدلهای پیچیده یادگیری ماشین در تولید ، حفظ روشهای سنتی برای توسعه دشوار است. توسعه در لپ تاپ یا دستگاه محلی برای آموزش مدل یادگیری ماشین برای مهندسین یادگیری عمیق می تواند کند باشد. در نتیجه ، ما به طور معمول از دستگاه های ابری با سخت افزار قدرتمندتر استفاده می کنیم تا مدل های یادگیری ماشین خود را آموزش داده و اجرا کنیم. این یک عمل خوب است زیرا ما محاسبات پیچیده را انتزاع می کنیم و در عوض درخواست های AJAX را در صورت لزوم می سازیم. در این آموزش ، ما با ساختن یک API REST از سطح زمین به بالا ، یک مدل یادگیری عمیق از پیش آموزش دیده به نام Word2Vec را در اختیار سایر خدمات قرار خواهیم داد.
sudo
کاربرتعبیه واژه ها یک پیشرفت اخیر در پردازش زبان طبیعی و یادگیری عمیق است که به دلیل پیشرفت سریع هر دو زمینه را متحول کرده است. تعبیه کلمات در واقع بردارهایی هستند که هر یک با یک کلمه واحد مطابقت دارند به طوری که بردارها به معنی کلمات هستند. این را می توان با پدیده های خاصی مانند بردار برای نشان داد king - queen = boy - girl
. بردارهای کلمه ای برای ساختن همه چیز از موتورهای توصیه شده گرفته تا چت بات ها که در واقع زبان انگلیسی را درک می کنند استفاده می شود.
تعبیه کلمات تصادفی نیستند. آنها با آموزش یک شبکه عصبی تولید می شوند. اجرای قدرتمند کلمه اخیر جاسازی شده توسط گوگل به نام Word2Vec است که با پیش بینی کلماتی که در کنار کلمات دیگر در یک زبان قرار دارند آموزش داده می شود. به عنوان مثال ، برای کلمه "cat"
، شبکه عصبی کلمات "kitten"
و "feline"
. این شهود کلمات که در کنار یکدیگر ظاهر می شوند به ما امکان می دهد تا آنها را در فضای برداری قرار دهیم.
با این حال ، در عمل ، ما تمایل داریم که از نمونه های از قبل آموزش دیده سایر شرکت های بزرگ مانند Google استفاده کنیم تا سریع نمونه سازی شود و فرآیندهای استقرار را ساده تر کند. در این آموزش تعبیه کلمات از قبل آموزش دیده Word2Vec گوگل را بارگیری و استفاده خواهیم کرد. ما می توانیم این کار را با اجرای دستور زیر در فهرست کار خود انجام دهیم.
wget http://magnitude.plasticity.ai/word2vec/GoogleNews-vectors-negative300.magnitude
کلمه مدل تعبیه شده که بارگیری کردیم به صورت .magnitude
فرمت است. این فرمت به ما اجازه می دهد تا با استفاده از SQL از مدل به صورت کارآمد پرس و جو کنیم ، بنابراین فرمت بهینه جاسازی برای سرورهای تولید است. از آنجا که باید بتوانیم .magnitude
قالب را بخوانیم ، pymagnitude
بسته را نصب می کنیم . ما همچنین نصب flask
خواهیم کرد تا بعداً پیش بینی های یادگیری عمیق ساخته شده توسط مدل را ارائه دهیم.
pip3 install pymagnitude flask
ما همچنین با دستور زیر آن را به ردیاب وابستگی خود اضافه خواهیم کرد. این پرونده ای را ایجاد می کند requirements.txt
و کتابخانه های Python ما را ذخیره می کند ، بنابراین ما می توانیم مجدداً آنها را نصب کنیم.
pip3 freeze > requirements.txt
برای شروع ، ما پرونده ای را برای باز کردن و جستجوی کلمه تعبیه شده ایجاد می کنیم.
touch model.py
در مرحله بعد ، خطوط زیر را model.py
برای وارد کردن بزرگی اضافه خواهیم کرد.
from pymagnitude import Magnitude
vectors = Magnitude('GoogleNews-vectors-negative300.magnitude')
ما می توانیم pymagnitude
با استفاده از query
روش ، با بسته و الگوی یادگیری عمیق بازی کنیم ، یک استدلال برای یک کلمه ارائه دهیم.
cat_vector = vectors.query('cat')
print(cat_vector)
برای هسته اصلی API ما تابعی را برای بازگشت تفاوت معنی در بین دو کلمه تعریف خواهیم کرد. این ستون فقرات برای اکثر راه حلهای یادگیری عمیق برای مواردی مانند موتورهای توصیه (یعنی نشان دادن محتوا با کلمات مشابه) است.
ما می توانیم با استفاده از similarity
و most_similar
توابع ، با این عملکرد بازی کنیم.
print(vectors.similarity("cat", "dog"))
print(vectors.most_similar("cat", topn=100))
ما ماشین حساب شباهت را به شرح زیر پیاده سازی می کنیم. این روش توسط بخش Flask API در بخش بعدی فراخوانی خواهد شد. توجه داشته باشید که این تابع یک مقدار واقعی را بین 0 و 1 برمی گرداند.
def similarity(word1, word2):
return vectors.similarity(word1, word2)
ما سرور خود را در پرونده ای به نام service.py
مطالب زیر ایجاد خواهیم کرد . ما قابلیت های سرور خود را وارد flask
و request
کنترل می کنیم و similarity
موتور را از ماژول قبلی که نوشتیم وارد می کنیم.
from flask import Flask, request
from model import similarity
app = Flask(__name__)
@app.route("/", methods=['GET'])
def welcome():
return "Welcome to our Machine Learning REST API!"
@app.route("/similarity", methods=['GET'])
def similarity_route():
word1 = request.args.get("word1")
word2 = request.args.get("word2")
return str(similarity(word1, word2))
if __name__ == "__main__":
app.run(port=8000, debug=True)
سرور ما استخوانهای نسبتاً برهنه ای دارد اما با ایجاد مسیرهای بیشتر با استفاده از @app.route
دکوراتور می توان به راحتی تمدید کرد .
ما می توانیم سرور Flask خود را با اجرای دستورات زیر اجرا کنیم تا محیط مجازی خود را فعال کنیم ، بسته های خود را نصب کنیم و پرونده پی پایت همراه آن را اجرا کنیم.
source venv/bin/activate
pip3 install -r requirements.txt
python3 service.py
سرور ما در دسترس خواهد بود localhost:8000
. می توانیم از پایگاه داده خود پرس و جو کرده localhost:8000/similarity?word1=cat&word2=dog
و پاسخ را در مرورگر خود یا از طریق مشتری AJAX دیگری مشاهده کنیم.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد