centos lua 安装(centos安装python3)

ubuntu下怎么安装torch

Torch简介

Torch是一个广泛支持机器学习算法的科学计算框架,由于采用简单而快速的脚本语言LuaJIT和一个底层的C/CUDA实现,Torch易于使用且高效。

Torch安装

首先,值得注意的是,最新版的Torch支持Ubuntu,Fedora20,Fedora22,Centos7。但不支持Fedora21,Centos6。

参考官网安装流程安装,如下所示,

# in a terminal, run the commands

git clone

cd~/torch; bash install-deps;

./install.sh12341234

在执行bash install-deps安装依赖时并未出错,但执行./install.sh时会出一些错误,见下面。

Torch安装问题汇总

错误1

错误类似于:

nvcc error:'***' died due to signal 2

解决方案:sudo./install.sh

错误2

Error: Build error: Failed building.

Updating manifest for/root/torch/install/lib/luarocks/rocks

fftw3 scm-1 is now built and installed in/root/torch/install/(license: BSD)123123

错误3

Error: Failed installing dependency: Could not find header file for OPENSSL

No file openssl/evp.h in/usr/local/include

No file openssl/evp.h in/usr/include

You may have to install OPENSSL in your system and/or pass OPENSSL_DIR or OPENSSL_INCDIR to the luarocks command.

Example: luarocks install luacrypto OPENSSL_DIR=/usr/local1234512345

参照Problem with Torch#86,执行sudo apt-get install-y libssl-dev安装libssl-dev,之后重新安装Torch即可。

错误4

提示缺少依赖lbase64,luacrypto,uuid等,可直接执行luarocks install missed-package解决。

使用lua-cmsgpack序列化和反序列化lua对象

lua-cmsgpack是一个开源的MessagePack实现方式、纯C的库,没有任何其它依赖,编译后可以直接被lua调用,目前主要支持Lua 5.1/5.2/5.3版本。

1、什么是MessagePack?

官方的解释是:

跟JSON及其类似,但是比JSON更快并且占用空间更小,举个官方给出的例子,直接截官方图:

翻译官方的解释:

MessagePack是一种高效的二进制序列化格式,它允许在多种语言(如JSON)之间交换数据,但它越来越小,小整数被编码为单个字节,典型的短字符串除了字符串本身之外还需要一个额外的字节。

目前市面上流行的开发语言MessagePack几乎支持,官方的地址为: MessagePack也提供了一套开源库,地址在: 。

但是,作者使用的是lua-cmsgpack,至于哪个比较优异,作者还没有去比较,主要是先发现了lua-cmsgpack,后面看了下README文件,使用方法应该是差不多的,大家可以拿来参考。

lua-cmsgpack包括官方提供的lua-MessagePack都需要自行编译,因为可能平台太多,所以官方没有为每一个平台提供编译好的版本。lua-cmsgpack的github地址为:

git clone下来之后需要安装cmake工具,mac平台直接在项目目录:

即可,当然需要预先安装lua,并且是5.1版本以上的。

主要说下CentOS平台下cmake可能会出现的问题,如果cmake的过程出现以下错误:

出现以上错误的话,需要自行安装lua的一些依赖库,一般:

就可以了,如果还不行,再试试下面的命令:

编译完成之后会生成cmsgpack.so文件,使用的时候直接require进去即可

运行效果:

cmsgpack.pack()可以把多个lua对象序列化成一个二进制msgpack,执行反序化的时候会返回对应数量的lua对象,非常的方便。

有趣的是redis也支持MessagePack,因此结合lua和lua-cmsgpack可以产生不错的化学反应,下面是一个简单的例子(结合OpenResty):

测试返回结果:

在某些场合还是有不错应用场景的。

linux系统实时同步(lsync)

为了实现 Linux系统的实时同步,您需要在服务端安装并配置 lsync和 rsync服务。对于 CentOS系统,使用 yum命令直接安装即可。Ubuntu系统则需要在安装后配置相应的配置文件和修改配置。在本文章中,我们将详细介绍在 Ubuntu系统上安装 lsync的步骤,并且解释配置文件的必要性。

在 Ubuntu Server上,您无需安装配置文件即可直接安装 lsync和 rsync。然而,直接启动服务时会遇到错误。对于 rsync来说,服务端不需要特定的配置文件,一个空的配置文件就足够了。对于 lsync,则需要对启动脚本进行修改。

在 Ubuntu Server的启动脚本/etc/init.d/lsyncd中,将默认配置项 CONFIG=/etc/lsyncd/lsyncd.conf.lua更改为 CONFIG=/etc/lsyncd/lsyncd.conf。这样配置之后,lsync服务就能正常运行。

对于客户端的 rsync配置文件,您需要根据自己的需求进行相应的配置。这将决定 rsync服务如何操作以及与服务器之间的同步策略。

在配置文件中,您可以设置源文件和目标文件,同时定义同步操作的规则,例如是否只同步更改的文件,或者按照时间顺序同步文件等。此外,您还可以设置安全选项,例如密码认证、SSH密钥认证等,以确保数据传输过程中的安全性。

总之,通过在服务端和客户端上分别配置 rsync和 lsync,您可以实现 Linux系统的实时同步。在配置文件中,您可以根据实际需求定制同步策略,从而确保数据的一致性和完整性。

阅读剩余
THE END