源码编译安装Netron模型可视化工具

        本文章是保姆级别的源码编译教程,任何想要从源码编译Netron的人员,都可以按照此教程进行编译。其中特别针对了国内无法下载打包工具的问题,特意改写了Makefile文件;另外,为了能够少些node工具方面的麻烦,我们将从安装高版本的node工具到编译过程都走一遍。

一、安装高版本的node工具(可选,视情况而定)

        前提:如果在后续编译Netron的时候没有报这种错误——“cannot find module fs/promises",您可选择不安装高版本的node工具。如上错误是在electron-builder 打包时的保存,主要原因是node工具的版本过低,这一般是因为我们在安装node工具的时候采用了诸如此类的命令安装——“apt install npm",这样安装后的npm和node命令版本都是过低的。

        因此,如果后续编译报了如上所述的错误,那么必须先安装高版本的node工具。

1.1、下载node工具的二进制安装包

        可从node.js的国内官网进行下载,网址如下所示:

http://nodejs.cn/download/

        进入后,我们根据自己的系统进行安装下载,本人开发环境是linux-x64,读者如果想要毫无差错的按照本教程,可以使用跟我一致的系统linux-x64。在node.js官网中,我选择了如下图中的linux二进制文件x64版的node安装文件,这里我下载后保存为${downloads-path}/node-v16.13.0-linux-x64.tar.xz,读者需要根据自己的下载情况更换${donwloads-path}为自己的下载路径。

2.1、卸载旧版本的node工具(如果安装了就版本的node工具)

        普通的apt安装的node可以执行执行如下的终端命令:

sudo apt remove npm

        在安装高版本的node.js前,我们需要确保系统环境中已经完全卸载了老版本的node.js工具。我们可以执行如下的命令判断是否完全卸载了老版本的node.js工具:

node -v
npm -v
npx -v

        如果执行以上三条命令时,bash界面都显示找不到命令,那么就表示node工具卸载完全了。 

2.2、安装node工具

        查看了node.js的wiki安装教程,可以完全跟随如下的安装命令进行安装:

# cd到node安装包的下载目录下
cd ${downloads-path}

# 在系统中创建node的安装目录
sudo mkdir -p /usr/local/lib/nodejs

# 复制二进制文件到刚才创建的安装目录下
sudo tar -xJxf node-v16.13.0-linux-x64.tar.xz -C /usr/local/lib/nodejs

# 修改环境配置文件,追加node的安装目录到环境配置文件中
echo 'export PATH=/usr/local/lib/nodejs/node-v16.13.0-linux-x64/bin:$PATH'>>~/.profile

# 环境配置文件生效
. ~/.profile

2.3、验证node工具安装成功

        执行如下命令验证node安装成功

node -v
npm -v
npx -v

        如果安装成功,将会显示出各自的版本号。

二、正式编译Netron模型可视化工具

2.1、确认编译工具齐全

        该步骤需要确保系统中存在以下的工具命令,可以在终端中执行如下所示的命令,如果bash没有报错,并且显示出正确的工具版本号,那么说明工具是齐全的;否则需要自行安装缺失的工具。

git --version
make --version
python3 --version
pip3 --version
python3 -m pip --version

        本人的环境中执行如下命令显示结果如下所示:

git version 2.25.1
GNU Make 4.2.1
为 x86_64-pc-linux-gnu 编译
Copyright (C) 1988-2016 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第 3 版或更新版本。
本软件是自由软件:您可以自由修改和重新发布它。
在法律允许的范围内没有其他保证。
Python 3.8.10
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

2.2、从官网上下载Netron源码

# cd到自己的工具目录${workspace-path},自行更换
cd ${workspace-path}
# clone netron源码工程
git clone https://gitcode.net/mirrors/lutzroeder/netron.git

2.3、修改Makefile

        该步骤的主要目的是为了适应国内下载问题,以及缩减编译时间。

# cd到netron目录下
cd netron

# 使用gedit编辑Makefile文件,也可用vi或者vim,凭个人喜好
gedit Makefile

        找到Makefle文件中的“build_electron: install”这条显示规则,原文显示如下所示:

build_electron: install
	CSC_IDENTITY_AUTO_DISCOVERY=false npx electron-builder --mac --universal --publish never
	npx electron-builder --win --x64 --arm64 --publish never
	npx electron-builder --linux appimage --x64 --publish never
	npx electron-builder --linux snap --x64 --publish never

        修改上述内容:注释跟自身开发系统不同的打包命令,比如我是linux-x64,因此我注释掉了--mac和--win的命令;同时在未注释的打包命令中加入华为云打包工具的镜像源网址。修改后的Makefile如下图所示:

build_electron: install
#	CSC_IDENTITY_AUTO_DISCOVERY=false npx electron-builder --mac --universal --publish never
#	npx electron-builder --win --x64 --arm64 --publish never
	ELECTRON_BUILDER_BINARIES_MIRROR=https://mirrors.huaweicloud.com/electron-builder-binaries/ npx electron-builder --linux appimage --x64 --publish never
	ELECTRON_BUILDER_BINARIES_MIRROR=https://mirrors.huaweicloud.com/electron-builder-binaries/ npx electron-builder --linux snap --x64 --publish never

2.4、编译

# 清除编译缓存
make clean

# 正式编译
make build

三、使用编译完成的Netron工具

        编译完成后,将在netron/dist中发现Netron的可执行程序Netron-5.3.7.AppImage

        可直接运行该可执行程序:

./dist/Netron-5.3.7.AppImage

      运行后,将会在显示出Netron的主界面,我们可以直接打开Netron支持的模型文件,以下是我在Netron中打开Caffe模型的效果图:

源码编译安装Netron模型可视化工具_第1张图片

        至此,Netron的编译过程就结束了。

你可能感兴趣的:(白桦树,其他,机器学习,算法)