最近又做了第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. 物理机安装mysql8, 修改数据库目录

    自动安装mysql ,并修改数据库目录. #! /bin/bash #mysql官方下载路径:https://dev.mysql.com/downloads/mysql/ # 配置dnf源 mkdir ...

  2. printf函数size_t的替换字符串zu

    参考:https://stackoverflow.com/questions/2524611/how-can-one-print-a-size-t-variable-portably-using-th ...

  3. ubuntu 逻辑卷增加磁盘

    使用lv* 相关的命令 lvdisplay lvscan ACTIVE            '/dev/ubuntu-vg/ubuntu-lv' [<74.00 GiB] inherit lv ...

  4. Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...

    大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误"错误:Failed to download metadata for repo 'AppStr ...

  5. mysql 消息表分区方案

    首先先看消息表创建脚本 我们用hash分区 在字段 user_id 分成100个区 CREATE TABLE `messages` ( `id` int(10) unsigned NOT NULL A ...

  6. Vue的hash/history模式

    hash路由模式 URL 中的 hash 值只是客户端的一种状态,向服务端发送请求的时候,hash 部分不会被发送: hash 值得改变会在浏览器的历史记增加访问记录,所以可以通过浏览器的回退.前进控 ...

  7. BFS与DFS区别和特点

    什么时候用DFS,什么时候用BFS?(DFS和BFS的特点和异同) 二维数组的题目,N小于20的,适用DFS.而一般 N<= 200,N<=1000这种,一定不可能用DFS去做.而且并不只 ...

  8. 攻防世界Web篇——PHP2

    可以从index.phps中找到网站源码 从源码中得出,要满足admin!=$_GET[id],urldecode($_GET[id]) == admin,两个条件才能得到flag 所以就将admin ...

  9. iOS block相关面试题

    一.前言本文重点来研究一下 objc 的 block,并具体来分析一下以下一些面试题目:block 的内部实现,结构体是什么样?block 是类吗?有哪些类型?一个 int 变量被 __block 修 ...

  10. 第08组Beta冲刺(3/4)

    队名 八组评分了吗 组长博客链接(2分) 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 了解各个小组的进度与难以攻破的地方,晚上安排开会,安排新的冲刺任务. 重新分配小组及个人任务. ...