Comment installer MODX Revolution sur un VPS CentOS 7 LAMP
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
Les approches traditionnelles du développement sont difficiles à maintenir lors de l'utilisation de modèles complexes d'apprentissage automatique en production. Le développement sur un ordinateur portable ou une machine locale peut être lent à former le modèle d'apprentissage automatique pour les ingénieurs d'apprentissage en profondeur. En conséquence, nous utilisons généralement des machines cloud avec un matériel plus puissant pour former et exécuter nos modèles d'apprentissage automatique. C'est une bonne pratique car nous faisons abstraction du calcul complexe et faisons à la place des requêtes AJAX si nécessaire. Dans ce didacticiel, nous mettrons à la disposition d'autres services un modèle d'apprentissage approfondi pré-formé nommé Word2Vec en créant une API REST à partir de zéro.
sudo
utilisateurL'incorporation de mots est un développement récent dans le traitement du langage naturel et l'apprentissage en profondeur qui a révolutionné les deux domaines en raison de progrès rapides. Les incorporations de mots sont essentiellement des vecteurs qui correspondent chacun à un seul mot de sorte que les vecteurs signifient les mots. Cela peut être démontré par certains phénomènes tels que le vecteur de king - queen = boy - girl
. Les vecteurs de mots sont utilisés pour tout construire, des moteurs de recommandation aux chat-bots qui comprennent réellement la langue anglaise.
Les intégrations de mots ne sont pas aléatoires; ils sont générés par la formation d'un réseau neuronal. Une récente mise en œuvre puissante d'intégration de mots provient de Google, nommée Word2Vec, qui est formée en prédisant les mots qui apparaissent à côté d'autres mots dans une langue. Par exemple, pour le mot "cat"
, le réseau neuronal prédira les mots "kitten"
et "feline"
. Cette intuition des mots apparaissant les uns à côté des autres nous permet de les placer dans l'espace vectoriel.
Cependant, dans la pratique, nous avons tendance à utiliser les modèles pré-formés d'autres grandes sociétés telles que Google afin de prototyper rapidement et de simplifier les processus de déploiement. Dans ce didacticiel, nous allons télécharger et utiliser les incorporations de mots pré-formés Word2Vec de Google. Nous pouvons le faire en exécutant la commande suivante dans notre répertoire de travail.
wget http://magnitude.plasticity.ai/word2vec/GoogleNews-vectors-negative300.magnitude
Le modèle d'intégration de mots que nous avons téléchargé est dans un .magnitude
format. Ce format nous permet d'interroger le modèle efficacement à l'aide de SQL, et est donc le format d'intégration optimal pour les serveurs de production. Puisque nous devons être en mesure de lire le .magnitude
format, nous allons installer le pymagnitude
package. Nous installerons également flask
pour servir plus tard les prévisions d'apprentissage en profondeur faites par le modèle.
pip3 install pymagnitude flask
Nous l'ajouterons également à notre outil de suivi des dépendances avec la commande suivante. Cela crée un fichier nommé requirements.txt
et enregistre nos bibliothèques Python afin que nous puissions les réinstaller ultérieurement.
pip3 freeze > requirements.txt
Pour commencer, nous allons créer un fichier pour gérer l'ouverture et l'interrogation du mot incorporations.
touch model.py
Ensuite, nous ajouterons les lignes suivantes model.py
pour importer la magnitude.
from pymagnitude import Magnitude
vectors = Magnitude('GoogleNews-vectors-negative300.magnitude')
Nous pouvons jouer avec le pymagnitude
package et le modèle d'apprentissage en profondeur en utilisant la query
méthode, fournissant un argument pour un mot.
cat_vector = vectors.query('cat')
print(cat_vector)
Pour le cœur de notre API, nous allons définir une fonction pour renvoyer la différence de sens entre deux mots. C'est l'épine dorsale de la plupart des solutions d'apprentissage en profondeur pour des choses telles que les moteurs de recommandation (c'est-à-dire montrer du contenu avec des mots similaires).
Nous pouvons jouer avec cette fonction en utilisant les fonctions similarity
et most_similar
.
print(vectors.similarity("cat", "dog"))
print(vectors.most_similar("cat", topn=100))
Nous implémentons le calculateur de similarité comme suit. Cette méthode sera appelée par l'API Flask dans la section suivante. Notez que cette fonction renvoie une valeur réelle entre 0 et 1.
def similarity(word1, word2):
return vectors.similarity(word1, word2)
Nous allons créer notre serveur dans un fichier nommé service.py
avec le contenu suivant. Nous importons flask
et request
gérons nos capacités de serveur et nous importons le similarity
moteur du module que nous avons écrit plus tôt.
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)
Notre serveur est plutôt simple, mais peut facilement être étendu en créant plus de routes à l'aide du @app.route
décorateur.
Nous pouvons exécuter notre serveur Flask en exécutant les commandes suivantes pour activer notre environnement virtuel, installer nos packages et exécuter son fichier Python associé.
source venv/bin/activate
pip3 install -r requirements.txt
python3 service.py
Notre serveur sera disponible sur localhost:8000
. Nous pouvons interroger notre base de données sur localhost:8000/similarity?word1=cat&word2=dog
et afficher la réponse soit dans notre navigateur, soit via un autre client AJAX.
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai
TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi
Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que
PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit
Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs
Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin
Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i
Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment
Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig
Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201
Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t
BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,
Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,
YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation
Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446
Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu
Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t
Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t
Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i
Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.
Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.
Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau
ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.
Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+
Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.
Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus
13 outils commerciaux d'extraction de données de Big Data
Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true
Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.