Opsæt Cacti på Debian Jessie
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
Traditionelle tilgange til udvikling er svære at opretholde, når man bruger komplekse maskinlæringsmodeller i produktionen. Udvikling på en bærbar eller lokal maskine kan være langsom til at træne maskinlæringsmodellen for deep learning-ingeniører. Som følge heraf gør vi typisk brug af cloud-maskiner med mere kraftfuld hardware til både at træne og køre vores machine learning-modeller. Dette er god praksis, da vi abstraherer kompleks beregning og i stedet foretager AJAX-anmodninger efter behov. I denne tutorial vil vi gøre en forudtrænet dyb læringsmodel ved navn Word2Vec tilgængelig for andre tjenester ved at bygge en REST API fra bunden.
sudo
brugerOrdindlejringer er en nylig udvikling inden for naturlig sprogbehandling og dyb læring, der har revolutioneret begge felter på grund af hurtige fremskridt. Ordindlejringer er i det væsentlige vektorer, der hver svarer til et enkelt ord, således at vektorerne betyder ordene. Dette kan påvises af visse fænomener, såsom vektoren for king - queen = boy - girl
. Ordvektorer bruges til at bygge alt fra anbefalingsmotorer til chat-bots, der rent faktisk forstår det engelske sprog.
Ordindlejringer er ikke tilfældige; de genereres ved at træne et neuralt netværk. En nylig kraftfuld implementering af ordindlejring kommer fra Google ved navn Word2Vec, som trænes ved at forudsige ord, der vises ved siden af andre ord på et sprog. For eksempel for ordet "cat"
vil det neurale netværk forudsige ordene "kitten"
og "feline"
. Denne intuition af ord, der optræder i nærheden af hinanden, giver os mulighed for at placere dem i vektorrummet.
I praksis har vi dog en tendens til at bruge de fortrænede modeller fra andre store virksomheder som f.eks. Google for hurtigt at lave prototyper og forenkle implementeringsprocesser. I denne tutorial vil vi downloade og bruge Googles Word2Vec fortrænede ordindlejringer. Vi kan gøre dette ved at køre følgende kommando i vores arbejdsmappe.
wget http://magnitude.plasticity.ai/word2vec/GoogleNews-vectors-negative300.magnitude
Ordindlejringsmodellen, vi downloadede, er i et .magnitude
format. Dette format giver os mulighed for at forespørge modellen effektivt ved hjælp af SQL, og er derfor det optimale indlejringsformat til produktionsservere. Da vi skal kunne læse .magnitude
formatet, installerer vi pymagnitude
pakken. Vi installerer også flask
for senere at tjene de dybe læringsforudsigelser, som modellen har lavet.
pip3 install pymagnitude flask
Vi tilføjer det også til vores afhængighedssporer med følgende kommando. Dette opretter en fil med navnet requirements.txt
og gemmer vores Python-biblioteker, så vi kan geninstallere dem på et senere tidspunkt.
pip3 freeze > requirements.txt
Til at begynde med opretter vi en fil til at håndtere åbning og forespørgsel efter ordet indlejringer.
touch model.py
Dernæst tilføjer vi følgende linjer for model.py
at importere Magnitude.
from pymagnitude import Magnitude
vectors = Magnitude('GoogleNews-vectors-negative300.magnitude')
Vi kan lege med pymagnitude
pakken og deep learning-modellen ved at bruge query
metoden og give et argument for et ord.
cat_vector = vectors.query('cat')
print(cat_vector)
For kernen i vores API vil vi definere en funktion til at returnere forskellen i betydning mellem to ord. Dette er rygraden for de fleste deep learning-løsninger til ting såsom anbefalingsmotorer (dvs. at vise indhold med lignende ord).
Vi kan lege med denne funktion ved at bruge similarity
og most_similar
funktioner.
print(vectors.similarity("cat", "dog"))
print(vectors.most_similar("cat", topn=100))
Vi implementerer lighedsberegneren som følger. Denne metode vil blive kaldt af Flask API i næste afsnit. Bemærk, at denne funktion returnerer en reel værdi mellem 0 og 1.
def similarity(word1, word2):
return vectors.similarity(word1, word2)
Vi opretter vores server i en fil med navnet service.py
med følgende indhold. Vi importerer flask
og request
håndterer vores serverfunktioner, og vi importerer similarity
motoren fra det modul, vi skrev tidligere.
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)
Vores server er ret bare ben, men kan nemt udvides ved at oprette flere ruter ved hjælp af @app.route
dekoratoren.
Vi kan køre vores Flask-server ved at køre følgende kommandoer for at aktivere vores virtuelle miljø, installere vores pakker og køre dens tilhørende Python-fil.
source venv/bin/activate
pip3 install -r requirements.txt
python3 service.py
Vores server vil være tilgængelig kl localhost:8000
. Vi kan forespørge i vores database på localhost:8000/similarity?word1=cat&word2=dog
og se svaret enten i vores browser eller gennem en anden AJAX-klient.
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
Introduktion Lets Encrypt er en certifikatmyndighedstjeneste, der tilbyder gratis TLS/SSL-certifikater. Installationsprocessen forenkles af Certbot,
Bruger du et andet system? Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af Debian Wheezy. Du bør bruge en serve
Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer
1. Virtualmin/Webmin Virtualmin er et kraftfuldt og fleksibelt webhotel kontrolpanel til Linux og UNIX systemer baseret på den velkendte Open Source web-base
Yii er en PHP-ramme, der giver dig mulighed for at udvikle applikationer hurtigere og nemmere. Installation af Yii på Ubuntu er ligetil, da du vil lære nøjagtigt
Screen er et program, der tillader flere terminalsessioner inden for et vindue. Dette giver dig mulighed for at simulere flere terminalvinduer, hvor det ma
Introduktion Logrotate er et Linux-værktøj, der forenkler administrationen af logfiler. Det kører typisk en gang om dagen via et cron-job og administrerer logbasen
VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere
Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten
I denne artikel vil vi se, hvordan du kompilerer og installerer Nginx mainline fra de officielle kilder til Nginx med PageSpeed-modulet, som giver dig mulighed for at
Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Gitea er et alternativt open source, selvhostet versionskontrolsystem drevet af Git. Gitea er skrevet på Golang og er
Bruger du et andet system? Gitea er et alternativt open source, selv-hostet versionskontrolsystem drevet af git. Gitea er skrevet på Golang og er
Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i
Hvad er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheden udnyttes gennem, hvordan Linux behandler kode. Det giver en uprivilegeret bruger mulighed for at gai
Det kan være farligt at have kun én bruger, som er root. Så lad os ordne det. Vultr giver os friheden til at gøre som vi vil med vores brugere og vores servere
Adminer er et letvægtsalternativ til phpMyAdmin. Til sammenligning er dens samlede pakkestørrelse 400KB mod 4,2 MB phpMyAdmin. I modsætning til phpMyAdmin, som
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere