如何在CentOS 7上安装Oxwall
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
在生产中使用复杂的机器学习模型时,传统的开发方法难以维护。在笔记本电脑或本地计算机上进行开发可能会很慢,无法为深度学习工程师训练机器学习模型。因此,我们通常会使用具有更强大硬件的云机器来训练和运行我们的机器学习模型。这是一个好习惯,因为我们抽象了复杂的计算,而是根据需要发出AJAX请求。在本教程中,我们将通过从头开始构建REST API,使预训练的深度学习模型Word2Vec可用于其他服务。
sudo
用户词嵌入是自然语言处理和深度学习的最新发展,由于快速发展,这已彻底改变了这两个领域。词嵌入本质上是向量,每个向量对应于一个词,因此向量表示这些词。这可以通过某些现象来证明,例如的向量king - queen = boy - girl
。单词向量用于构建从推荐引擎到实际理解英语的聊天机器人的所有内容。
单词嵌入不是随机的;它们是通过训练神经网络生成的。最近一种功能强大的词嵌入实现来自Google,名为Word2Vec,它通过预测语言中与其他词相邻的词来进行训练。例如,对于单词"cat"
,神经网络将预测单词"kitten"
和"feline"
。彼此靠近出现的单词直觉使我们可以将它们放置在向量空间中。
但是,实际上,我们倾向于使用其他大型公司(例如Google)的经过预先训练的模型,以便快速制作原型并简化部署过程。在本教程中,我们将下载并使用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
以导入Magnitude。
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服务器,以激活我们的虚拟环境,安装软件包并运行其关联的Python文件。
source venv/bin/activate
pip3 install -r requirements.txt
python3 service.py
我们的服务器将在提供localhost:8000
。我们可以在以下位置查询数据库localhost:8000/similarity?word1=cat&word2=dog
并在浏览器中或通过另一个AJAX客户端查看响应。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。
使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具
简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。
使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由
朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性
Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。
使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示
简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin
在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区
使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量
本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio
Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据
使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息