【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.下载并解压 ...
随机推荐
- 更改ubuntu分辨率
显示器是1920*1080的,ubuntu20里没有,查了一通,修改成功,过程如下: 1.打开终端,输入xrandr, 我用的虚拟机,记下Virtual1 connected primary 1920 ...
- Maven使用相关
#Maven使用 [1] [2] mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking ...
- [*]Is L2 Physics-Informed Loss Always Suitable for Training Physics-Informed Neural Network?
NeurIPS 2022 本篇工作对PINN中的物理损失进行了探究,作者认为L2损失并不总是适用于训练PINN.并从PDE解的稳定性角度给出了理论性的说明.读了这篇文章,感觉自己的毕业论文做的十分浅显 ...
- jmeter-时间处理
${__time(,)} 1486091280955 //无格式化参数,返回当前毫秒时间,默认13位.一般用来做时间戳 ${__time(/1000,)} //为取10位的时间戳的函数表达式(时间精确 ...
- 吴恩达老师机器学习课程chapter10——推荐算法
吴恩达老师机器学习课程chapter10--推荐算法 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十六章. 缺少数学证明,仅作 ...
- Netty Reactor模型
1.netty抽象出两个线程池:BossGroup负责监听和建立连接 :WorkerGroup 负责网络IO的读写 2.BossGroup 和 WorkerGroup 类型都是NioEventLoop ...
- debug 获取mybatis dao 连接的数据库
MapperProxy.invoke MapperMethod.execute 查看sqlSession .
- Linux环境下将.net6项目部署到docker
1.创建一个ASP.NET Core Web应用(MVC) 注意点:建议不用勾选单选框"启用Docker(E)",因为勾选后,涉及到Docker-Desktop的安装,可能会引起本 ...
- Java基础之类型转换
类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低 --------------------------------------------------------&g ...
- Visual Studio 2019注册码
最近在学习Visual Studio,但是晕斗士(筛子系统)提示需要注册码,否则只能试用30天,由于是学习购买就没必要了,找Google找到了一下两段注册码. 目前测试了专业版已经注册成功. Visu ...