最近又做了第n次moonlight的环境配置

moonlight是相对成熟的omr系统

这里记录环境配置的基本步骤

(总的来说主要是用conda新建符合程序要求的python版本

然后装好bazel和protobuf以及其他需要的包,设置好相关的PATH

最后bazel build的过程有点慢,其他也没什么坑了)

基本环境:virtualbox ubuntu20(ubuntu18同样适用)

以下是步骤:

1、更换apt源
https://blog.csdn.net/u013862444/article/details/98619724

2、安装miniconda3

//下载安装程序
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

//赋权、运行
chmod 777 Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh

//添加PATH
vim ~/.bashrc
export PATH=/home/user/miniconda3/bin:$PATH
source ~/.bashrc

3、创建python环境
conda create -n [env_name] python=3.x #安装指定版本python

//一般选择py3.7版本即可
conda activate [env_name] # 切换python版本

4、更新pip源
https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

//推荐清华源更新步骤
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U #更新pip版本
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple #更新pip源

5、安装所需包

pip install -r requirements.txt

6、测试tensorflow是否安装成功
python
>> import tensorflow as tf

7、安装protobuf
pip install protobuf==3.6.1

8、安装bazel
参考自官网
https://docs.bazel.build/versions/0.20.0/install-ubuntu.html

//安装所需包
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3

//手动下载bazel安装程序
https://github.com/bazelbuild/bazel/releases/tag/0.20.0
选择 bazel-<version>-installer-linux-x86_64.sh

//也可以直接用下面的下载链接:
https://github.com/bazelbuild/bazel/releases/download/0.20.0/bazel-0.20.0-installer-linux-x86_64.sh

//赋权、运行
chmod +x bazel-<version>-installer-linux-x86_64.sh
./bazel-<version>-installer-linux-x86_64.sh --user

//添加PATH
export PATH="$PATH:$HOME/bin"

9、运行moonlight

//requirements.txt同目录下执行以下命令

bazel build moonlight:omr #一般情况下这个会报错
bazel build moonlight:omr --incompatible_remove_native_http_archive=false #如果上一条报错,执行本条,否则跳过
// 这个过程会需要等很久,视网络状况而定,自测1h左右
// bazel build完毕后可以测试程序的基本功能,如下:

// Prints a Score message.
bazel-bin/moonlight/omr moonlight/testdata/IMSLP00747-000.png

// Scans several pages and prints a NoteSequence message.
bazel-bin/moonlight/omr --output_type=NoteSequence IMSLP00001-*.png

// 识别一张乐谱并生成xml文件(可以用MuseScore播放),注意执行路径
bazel-bin/moonlight/omr --output_type=MusicXML --output=[xml_file] [png_file]

【omr】linux配置omr识别项目moonlight环境的更多相关文章

  1. Linux(三)—— 项目部署环境搭建

    目录 项目部署环境搭建 一.linux上网 二.rpm包管理 1.光盘挂载 2.安装卸载rpm包 3.查询是否安装 4.查看软件包 5.互相依赖关系的软件包 三.yum包管理 1.使用aliyun的y ...

  2. linux环境下配置java WEB项目运行环境,jdk8+tomcat8+mysql5.7.11 新手向

    一:安装jdk 1.下载jdk  在oracle下载东西的时候因为oracle的一些验证机制,所以需要在链接前面添加一些参数 wget --no-check-certificate --no-cook ...

  3. MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建

    这次换了台电脑,所以须要又一次配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装.同一时候给大家一个參考. 1.JDK的安装 首先下载JDK,这个从sun公司官网能够下载.依据自己的系统选 ...

  4. [置顶] Java Web学习总结(25)——MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建

    这次换了台电脑,所以需要重新配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装,同时给大家一个参考. 1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64 ...

  5. Linux详解(基础、环境配置、项目部署入门)

    Linux(CentOS 7)操作系统 消息队列(Kafka.RabbitMQ.RocketMQ),缓存(Redis),搜索引擎(ES),集群分布式(需要购买多台服务器,如果没有服务器我们就只能使用虚 ...

  6. ionic+angularjs开发hybrid App(环境配置+创建测试项目)

    本文使用的系统是win10 因为后期需要使用nodejs 所以先把node装好 https://nodejs.org/download/ 下载JDK并配置Java运行环境 http://www.ora ...

  7. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

    ♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...

  8. vue项目eslint环境配置与vscode配置eslint

    eslint基础环境搭建 全局安装eslint:npm install eslint -g 项目eslint初始化:eslint --init,按团队或自己的编程风格回答三道题. ? How woul ...

  9. JBOSS安装与配置搭建本地项目环境(方便前端开发调式)

    JBOSS安装与配置搭建本地项目环境  什么是JBOSS? JBOSS是EJB的服务器,就像Tomcat是JSP服务器一样,就是服务器的一种. 环境搭建如下: 一:首先安装JDK,配置环境变量(PAT ...

  10. linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境

    一.安装JDK 1.卸载旧版本或者系统自带的JDK (1)列出所有已安装的JDK rpm -qa | grep jdk (2)卸载不需要的JDK yum -y remove 安装包名称 2.下载并解压 ...

随机推荐

  1. 使用Visual Studio工具将ActiveX控件的COM类库转换为窗体控件

    1:转换目的 Windows窗体只能继承Windows 窗体控件.如果要承载ActiveX控件,必须生成AxHost派生的包装器控件. 在使用WPF呈现ActiveX控件的时候,需要将com类库(oc ...

  2. 接口设置ip跨域

    // 允许跨域请求的地址'allowUrls' => [ 'http://localhost:8080', 'http://192.168.2.224', 'http://192.168.2.2 ...

  3. 89. 格雷编码 (Medium)

    问题描述 89. 格雷编码 (Medium) n 位格雷码序列 是一个由 2ⁿ 个整数组成的序列,其中: 每个整数都在范围 [0, 2ⁿ - 1] 内(含 0 和 2ⁿ - 1) 第一个整数是 0 一 ...

  4. VEU开发之element-ui中关闭dialog时并销毁

    el-dialog正常使用过程中,经常会发现一些问题,就是dialog加载的组件,每次打开都会有上次的内容,其实是加载到节点未被删除,只是反复隐藏/显示. <el-button type=&qu ...

  5. CompletableFuture的使用

    1 List<List<String>> subList = CommonUtils.splitList(pendingIds, 500);private static fin ...

  6. MySQL 常用命令(1)------连接、添加用户与授权

    一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL 进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码 ...

  7. idea引入ojdbc包报错

    网上下载或者让同事传两个jar过来,ojdbc6-11.2.0.7.0.jar 以及jconn3.0.jar 放入同一个文件夹中: 在此文件夹中cmd如下:回车,进入cmd控制台. 输入如下两个命令: ...

  8. alertmanger告警配置

    钉钉告警: 需先安装 Ding talk 配置 webhook vim docker-compose.yaml webhook-dingtalk: image: timonwong/prometheu ...

  9. 【SSO单点系列】(1):CAS4.0 之环境的搭建

    [SSO单点系列](1):CAS4.0 环境的搭建 一.概述 今天开始写CAS相关的第一篇文章,这篇文章主要是关于CAS环境的搭配,提供给刚刚接触CAS的一个入门指南,并演示一个CAS的最简单的实例 ...

  10. [2009年NOIP普及组] 分数线划定

    世博会志愿者的选拔工作正在A市如火如荼的进行.为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根据计划录取人数的150%划定,即如果计划录取m ...