【omr】linux配置omr识别项目moonlight环境
最近又做了第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环境的更多相关文章
- Linux(三)—— 项目部署环境搭建
目录 项目部署环境搭建 一.linux上网 二.rpm包管理 1.光盘挂载 2.安装卸载rpm包 3.查询是否安装 4.查看软件包 5.互相依赖关系的软件包 三.yum包管理 1.使用aliyun的y ...
- linux环境下配置java WEB项目运行环境,jdk8+tomcat8+mysql5.7.11 新手向
一:安装jdk 1.下载jdk 在oracle下载东西的时候因为oracle的一些验证机制,所以需要在链接前面添加一些参数 wget --no-check-certificate --no-cook ...
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
这次换了台电脑,所以须要又一次配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装.同一时候给大家一个參考. 1.JDK的安装 首先下载JDK,这个从sun公司官网能够下载.依据自己的系统选 ...
- [置顶]
Java Web学习总结(25)——MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
这次换了台电脑,所以需要重新配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装,同时给大家一个参考. 1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64 ...
- Linux详解(基础、环境配置、项目部署入门)
Linux(CentOS 7)操作系统 消息队列(Kafka.RabbitMQ.RocketMQ),缓存(Redis),搜索引擎(ES),集群分布式(需要购买多台服务器,如果没有服务器我们就只能使用虚 ...
- ionic+angularjs开发hybrid App(环境配置+创建测试项目)
本文使用的系统是win10 因为后期需要使用nodejs 所以先把node装好 https://nodejs.org/download/ 下载JDK并配置Java运行环境 http://www.ora ...
- Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)
♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...
- vue项目eslint环境配置与vscode配置eslint
eslint基础环境搭建 全局安装eslint:npm install eslint -g 项目eslint初始化:eslint --init,按团队或自己的编程风格回答三道题. ? How woul ...
- JBOSS安装与配置搭建本地项目环境(方便前端开发调式)
JBOSS安装与配置搭建本地项目环境 什么是JBOSS? JBOSS是EJB的服务器,就像Tomcat是JSP服务器一样,就是服务器的一种. 环境搭建如下: 一:首先安装JDK,配置环境变量(PAT ...
- linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境
一.安装JDK 1.卸载旧版本或者系统自带的JDK (1)列出所有已安装的JDK rpm -qa | grep jdk (2)卸载不需要的JDK yum -y remove 安装包名称 2.下载并解压 ...
随机推荐
- Beginning IOS 7 Development Exploring the IOS SDK - Handling Basic Interface Fun
Beginning IOS 7 Development Exploring the IOS SDK 目前使用的是Objective-C,用这本书,简单记录一下 第一章,图书简介 第二章,简要介绍使用x ...
- Office & WPS 基础篇
基础知识 安装office 推荐使用Microsoft Office,原因不详,不做讨论 使用Office tool plus安装,不要三年前版本,一般三年一代,工具自己找,版本文件自己找. 具体选项 ...
- STM32中HAL库和标准库的区别
转载自:https://www.lmonkey.com/t/RwykY8bBX STM32标准库与HAL库比较 ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL ...
- Python中用requests处理cookies的3种方法
在接口测试中,大多数项目的接口是需要登录后进行操作的,经常用到requests库进行模拟登录及登录后的操作,下面是我不断踩坑后总结出来的关于登录凭证cookies的3种操作方法. 一. 用 reque ...
- Webservice EASLogin登录接口说明
https://club.kingdee.com/forum.php?mod=viewthread&tid=1332944
- mysql清理库中所有表的数据
SELECT CONCAT('truncate table ',TABLE_NAME,';') AS a FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHE ...
- GitLab + Rainbond 打造Devops流程
GitLab + Rainbond 打造Devops流程 流程 预设项目有两个分支,dev和master dev分支对应dev环境 master分支对应test环境和prod环境 开发在dev中编写代 ...
- JAVA根据时间增加1天
String time = "2021-12-1"; //指定时间 int day = 30;//指定增加天数 SimpleDateFormat sf = new SimpleDa ...
- PostScript语言教程(五、文本打印)
5.1.POSTSCRIPT字体 字体是具有统一规格的字符集.其中包含数百个字符集,包含熟悉的TIMES和HELVETICA 使用POSTSCRIPT字体 在你打印文本之前,你需要指定所需的字体,这个 ...
- ThreadPoolTaskExecutor线程池创建
package com.xx.xx.config; import java.util.concurrent.ThreadPoolExecutor; import org.slf4j.Logger; i ...