Sett opp Cacti på Debian Jessie
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
Tradisjonelle tilnærminger til utvikling er vanskelige å opprettholde når man bruker komplekse maskinlæringsmodeller i produksjon. Utvikling på en bærbar datamaskin eller lokal maskin kan være treg for å trene opp maskinlæringsmodellen for dyplæringsingeniører. Som et resultat bruker vi vanligvis skymaskiner med kraftigere maskinvare for å både trene og kjøre maskinlæringsmodellene våre. Dette er god praksis siden vi abstraherer komplekse beregninger og i stedet foretar AJAX-forespørsler etter behov. I denne opplæringen vil vi gjøre en forhåndsopplært dyplæringsmodell kalt Word2Vec tilgjengelig for andre tjenester ved å bygge en REST API fra grunnen av.
sudo
brukerOrdinnbygging er en nylig utvikling innen naturlig språkbehandling og dyp læring som har revolusjonert begge feltene på grunn av rask fremgang. Ordinnbygging er i hovedsak vektorer som hver tilsvarer et enkelt ord slik at vektorene betyr ordene. Dette kan demonstreres av visse fenomener som vektoren for king - queen = boy - girl
. Ordvektorer brukes til å bygge alt fra anbefalingsmotorer til chat-bots som faktisk forstår det engelske språket.
Ordinnbygging er ikke tilfeldig; de genereres ved å trene et nevralt nettverk. En nylig kraftig implementering av ordinnbygging kommer fra Google ved navn Word2Vec som trenes opp ved å forutsi ord som vises ved siden av andre ord på et språk. For eksempel, for ordet "cat"
, vil det nevrale nettverket forutsi ordene "kitten"
og "feline"
. Denne intuisjonen av ord som vises i nærheten av hverandre, lar oss plassere dem i vektorrom.
I praksis har vi imidlertid en tendens til å bruke de forhåndstrente modellene til andre store selskaper som Google for raskt å lage prototyper og forenkle distribusjonsprosesser. I denne opplæringen vil vi laste ned og bruke Googles Word2Vec forhåndstrenede ordinnbygginger. Vi kan gjøre dette ved å kjøre følgende kommando i arbeidskatalogen vår.
wget http://magnitude.plasticity.ai/word2vec/GoogleNews-vectors-negative300.magnitude
Ordet innebyggingsmodellen vi lastet ned er i et .magnitude
format. Dette formatet lar oss spørre modellen effektivt ved hjelp av SQL, og er derfor det optimale innebyggingsformatet for produksjonsservere. Siden vi må kunne lese .magnitude
formatet, installerer vi pymagnitude
pakken. Vi vil også installere flask
for senere å betjene dyplæringsspådommene laget av modellen.
pip3 install pymagnitude flask
Vi vil også legge den til vår avhengighetssporer med følgende kommando. Dette oppretter en fil som heter requirements.txt
og lagrer Python-bibliotekene våre slik at vi kan installere dem på nytt på et senere tidspunkt.
pip3 freeze > requirements.txt
Til å begynne med vil vi lage en fil for å håndtere åpning og spørring etter ordet innebygginger.
touch model.py
Deretter legger vi til følgende linjer for model.py
å importere Magnitude.
from pymagnitude import Magnitude
vectors = Magnitude('GoogleNews-vectors-negative300.magnitude')
Vi kan leke med pymagnitude
pakken og dyplæringsmodellen ved å bruke query
metoden og gi et argument for et ord.
cat_vector = vectors.query('cat')
print(cat_vector)
For kjernen av API-en vår vil vi definere en funksjon for å returnere forskjellen i betydning mellom to ord. Dette er ryggraden for de fleste dyplæringsløsninger for ting som anbefalingsmotorer (dvs. å vise innhold med lignende ord).
Vi kan leke seg med denne funksjonen ved å bruke similarity
og most_similar
funksjoner.
print(vectors.similarity("cat", "dog"))
print(vectors.most_similar("cat", topn=100))
Vi implementerer likhetskalkulatoren som følger. Denne metoden vil bli kalt opp av Flask API i neste seksjon. Merk at denne funksjonen returnerer en reell verdi mellom 0 og 1.
def similarity(word1, word2):
return vectors.similarity(word1, word2)
Vi oppretter serveren vår i en fil som heter service.py
følgende innhold. Vi importerer flask
og request
håndterer serverfunksjonene våre, og vi importerer similarity
motoren fra modulen 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)
Serveren vår er ganske naken, men kan enkelt utvides ved å lage flere ruter ved å bruke @app.route
dekoratoren.
Vi kan kjøre Flask-serveren vår ved å kjøre følgende kommandoer for å aktivere vårt virtuelle miljø, installere pakkene våre og kjøre den tilhørende Python-filen.
source venv/bin/activate
pip3 install -r requirements.txt
python3 service.py
Serveren vår vil være tilgjengelig kl localhost:8000
. Vi kan spørre databasen vår på localhost:8000/similarity?word1=cat&word2=dog
og se svaret enten i nettleseren vår eller gjennom en annen AJAX-klient.
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
Introduksjon Lets Encrypt er en sertifikatmyndighetstjeneste som tilbyr gratis TLS/SSL-sertifikater. Installasjonsprosessen forenkles av Certbot,
Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve
1. Virtualmin/Webmin Virtualmin er et kraftig og fleksibelt kontrollpanel for webhotell for Linux- og UNIX-systemer basert på den velkjente Open Source-nettbasen
Skjerm er et program som tillater flere bruk av terminalsesjoner i ett vindu. Dette lar deg simulere flere terminalvinduer der det ma
Introduksjon Logrotate er et Linux-verktøy som forenkler administrasjonen av loggfiler. Den kjører vanligvis en gang om dagen via en cron-jobb, og administrerer loggbasen
Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet
Hva er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheten utnyttes gjennom hvordan Linux behandler kode. Det gjør det mulig for en uprivilegert bruker å gai
Å ha bare én bruker, som er root, kan være farlig. Så la oss fikse det. Vultr gir oss friheten til å gjøre som vi vil med våre brukere og våre servere
Adminer er et lett alternativ til phpMyAdmin. Til sammenligning er dens totale pakkestørrelse 400 KB, mot 4,2 MB med phpMyAdmin. I motsetning til phpMyAdmin, som
Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller
Denne artikkelen er en del av en todelt serie om installasjon og konfigurering av Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversikt over ekstern vert Nagio
Vultr-servere kan ikke distribueres med tidssonen/datoen/klokkeslettet du trenger på serveren din. Heldigvis kan vi manuelt stille inn tidssonen for å forhindre problemer
Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk a
Introduksjon Linux-funksjoner er spesielle attributter i Linux-kjernen som gir prosesser og binære kjørbare spesifikke rettigheter som er normale
Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk har bee
Innledning Enkelte scenarier krever at du oppretter brukere med lese- og skrivetilgang til en enkelt katalog kun via FTP. Denne artikkelen vil vise deg hvordan t
Node.js-applikasjoner er populære for deres evne til å skalere. Å kjøre flere samtidige prosesser på flere servere gir lavere ventetid og større oppetid
Bruker du et annet system? LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den bruker SNMP for å hente data fra forskjellige enheter. En variant
For DHCP-brukere kan det hende du trenger å redigere /etc/resolv.conf for å bruke andre navneservere. Deretter, etter en periode (eller etter en omstart av systemet)
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer