DeepTrace安装指南

DeepTrace是深度卷积神经网络的集合,可以选择地震数据中的到达时间。我们将每个神经网络称为“模型”。 DeepTrace预先安装了一些模型,使用户可以使用自己选择的地震数据进一步训练模型。

DeepTrace与地震数据的接口是通过Front Range Geoscience的Phoenix折射静力学软件实现的。 Phoenix负责将地震数据导入和提供给DeepTrace。 Phoenix通常安装在CPU群集上以运行物理模拟,而DeepTrace安装在GPU计算单元上。 DeepTrace将其功能作为网络服务提供给Phoenix。

本指南将介绍DeepTrace的安装,使用和维护。

先决条件

由于DeepTrace利用GPU来加速神经网络性能,因此必须首先安装相关的GPU系统库。这些包括:

最后,在* .bashrc *文件中修改以下环境变量:

export PATH=/bin:/usr/local/cuda-10.0/bin:/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda/lib64:$LD_LIBRARY_PATH

安装DeepTrace

DeepTrace捆绑了其其余软件需求以及一些使用户入门的模型。 由于用户可能会训练其他型号,DeepTrace需要一些磁盘空间才能保存新模型。

请选择所有GPU节点都可以访问的,具有大量可用磁盘的网络目录,以用作共享存储路径。 组:

export DEEPTRACEPATH=/the/path/you/choose

在您当前的外壳中。

*注意:这是新模型将保存到的路径。 这不是DeepTrace程序安装路径。

与DeepTrace打包在一起时,您会发现一个安装脚本installdeeptrace.sh-通过键入sh installdeeptrace.sh运行此安装脚本。 该脚本可以完成一些东西:    -首次创建DEEPTRACEPATH目录结构    -修改deeptrace {head / model} .service文件以反映您选择的$ DEEPTRACEPATH    -将deeptrace可执行文件和服务文件安装到各自的位置

系统将要求您输入root密码-我们需要此密码才能写入/ etc / systemd / system和/ usr / local。 您可以通过验证没有任何恶意 检查shell脚本less installdeeptrace.sh

注意:默认情况下,我们将Deeptrace服务单元文件安装到 /etc/systemd/system 中

现在,DeepTrace和系统服务单元文件已安装,运行

sudo systemctl daemon-reload

来访问DeepTrace服务。

了解DeepTrace服务

DeepTrace通过两个服务向Phoenix公开其功能:一个用于跟踪GPU节点及其已加载模型的head服务,以及一个用于执行工作的模型服务。

每个站点仅需要一个头服务,而每个单独的GPU节点都需要启动其自己的模型服务。

注意:每个GPU节点仅需要一项模型服务。 如果单个节点具有多个GPU,则模型服务将自动处理它。

用户/系统管理员可以检查deeptracehead.service和deeptracemodel.service文件来了解如何实现。 头服务在端口(默认为5000-5002)上侦听Phoenix和模型服务的请求。 需要告知模型服务在哪里可以找到头服务,以及打开哪些端口以侦听Phoenix请求。

默认假设是所有GPU都存在于单个节点上,并且该节点同时运行head和model服务。 如果将模型服务安装在另一个节点上,则用户应将deeptracemodel.service文件的HEADADDRESS环境变量从localhost更改为运行head服务的IP地址。

用户可以通过以下方式将Deeptrace服务设置为在启动时启动:

sudo systemctl enable deeptracehead.service
sudo systemctl enable deeptracemodel.service

用户使用以下命令手动启动和停止Deeptrace服务

sudo systemctl {start/stop/restart} deeptrace{head/model}.service

注意:大括号“ {option1 / option2}”表示应选择一个选项

检查DeepTrace日志

由于DeepTrace是作为系统服务安装的,因此它利用systemd的日志记录使用情况。

要查看DeepTrace日志,请访问

journalctl -fu deeptracehead
journalctl -fu deeptracemodel

连接凤凰

启动DeepTrace头和模型服务后,用户使用头服务IP和端口从Phoenix连接到DeepTrace。

HEADIPADDRESS:HEADPORT

DeepTrace头服务在传递的HEADPORT上侦听Phoenix请求(默认值= 5000)。 头服务在HEADPORT + 1上监听DeepTrace模型请求。 要修改此值,请在/etc/systemd/system/deeptracehead.service中更改变量:

#将5000更改为您想要的任何端口
Environment=HEADPORT=5000

相应地,您将需要更改/etc/systemd/system/deeptracemodel.service:

#更改以下几行以反映新值
Environment=HEADPORT=5001
Environment=HEADADDRESS=localhost #如果头服务在单独的节点上运行,则localhost应该更改为HEADIP
Environment=MODELSTARTPORT=5005 #这是模型处理开始的起始端口

Phoenix默认为“ 10.1.10.196:5000”,因为这是FRG内部使用的值。在Phoenix中将此值更改为您本地GPU节点的值。

确保在防火墙设置中打开端口5000-50XX:

firewall-cmd --zone = public --add-port = 50XX / tcp --permanent

其中50XX表示GPU节点上可用CPU核心的数量,再加上五个。例如。如果GPU机器上有12个CPU线程可用,则端口5000-5017应该打开。

故障排除

使用以下命令监视GPU节点上的GPU利用率

watch -n0.1 nvidia-smi

如果%利用率未始终达到100%左右,请尝试增加Phoenix分配给DeepTrace任务的线程。

在Phoenix首次向GPU请求后,DeepTrace会保留所有可用的GPU内存。 如果您不希望使用GPU为DeepTrace模型提供服务,只需不要在Phoenix中选择它。 使用sudo systemctl stop deeptracemodel终止deeptrace模型服务。

如有任何疑问,请联系demoss@frontrangegeosciences.com,或获得有关安装和运行DeepTrace。