Python+Django+sqlite3实现基于内容的音乐推荐系统
设计结构
数据处理
需要对标签数据清洗以及将音频信号转化为频谱信号。本次数据集采用公开音频数据集GTZAN,其中包含了10种不同风格的音乐,每一种音乐都包含100个音频文件,每个音频文件都是30秒。同时需要将音频信号转化为频谱信号,本论文将转化为梅尔频谱,直接使用pytorch的torchaudio中的函数即可快速转化。
将音频信号转化为梅尔频谱
梅尔频谱图是将频率转换为梅尔刻度的频谱图。使用梅尔频谱可以起到压缩数据、数据拥有更多的表征能力,同时有论文表明与传统的傅里叶变化相比,转化为梅尔频谱的样本可以提高训练的准确率。
神经网络
本项目选用卷积神经网络AlexNet。一个是对于初学者有较好较多的学习点,另一个是网络比较简单,对于这个小样本集有比较良好的效果。
- AlexNet 的网络结构
- 单样本的训练流程
音乐推荐系统
使用Django实现推荐系统的功能,提供前后端交互页面。
如何使用推荐功能
- 点击爱心,将会对本首歌进行推荐
- 在推荐列表中将展示相似度最高的5首歌曲(具体原理我将在Bilibili描述)
如何使用本项目
- 下载数据集
https://cowtransfer.com/s/0e58712731e74d
- 训练模型
训练模型的代码为Jupyter Notebook格式,如果大家电脑有GPU那就在自己电脑上训练就可以了,如果没有,推荐大家使用Kaggle。
https://www.kaggle.com/ 每周大概有40多小时白嫖的GPU时长,无需翻墙,自认为比colab好用一些。
根目录下 文件 recommend.ipynb 即为训练代码,训练后生成模型参数文件 best_model_okk.pth
- 构建Django前后端
根目录下 文件 recommend 即为 Django 项目,记得将GTZAN数据集文件放在目录recommend/music/static/GTZAN下
接下来即可使用pycharm启动项目
- 项目部署
Python+Django+sqlite3实现基于内容的音乐推荐系统相关推荐
- 小伙利用python构建基于内容的音乐过滤推荐系统,腾讯花巨资聘请
背景:这个项目指的是Lambda学校的Lambda实验室,在这个实验室里,学生们花费了过去5周的时间来构建生产级的web应用程序,其中一些人利用机器学习模型作为后端的一部分.我们小组的任务是开发一个应 ...
- (附源码)计算机毕业设计SSM基于java的音乐推荐系统
(附源码)计算机毕业设计SSM基于java的音乐推荐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe( ...
- python django mysql web页面多级联动_Python Web实战:Python+Django+MySQL实现基于Web版的增删改查...
前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...
- 基于内容的菜谱推荐系统
目录 摘要 - I 目录 - III 1 绪论 - 1 1.1 课题研究的背景和意义 - 1 1.2 国内外研究现状 - 2 1.3 课题的主要工作以及论文结构 - 3 2 基于内容的推荐系统的概述 ...
- 老王的电影网站,基于内容的推荐 - 推荐系统入门(二)
"这书都挺厚的啊",老王看了看,又掂了掂桌上新买的<推荐系统 技术.评估及高效算法><推荐系统实战>,不禁叹了一口气... "先来个简单的,总比没 ...
- 电影推荐系统 python简书_基于Spark的电影推荐系统(实战简介)
## 写在前面 一直不知道这个专栏该如何开始写,思来想去,还是暂时把自己对这个项目的一些想法 和大家分享 的形式来展现.有什么问题,欢迎大家一起留言讨论. 这个项目的源代码是在https://gith ...
- 在SAE搭建Python+Django+MySQL(基于Windows)
为了与时俱进,工作闲余開始研究Python,刚一接触就被Python这"优雅"的语法吸引住.后来接触到了Django.尽管还没有太深入的研究.但对这样的新概念的WEB开发非常感兴趣 ...
- python django开发api_基于Django框架开发Restful api
在上篇文章中,我们讲解了restful api的主要概念,让大家有初步的了解.这一篇中,我们将通过python的Django框架,来学习开发restful 架构的接口. 一. 开发环境 开发语言:Py ...
- python+django+sqlite3,不成熟的学生管理增删改查
因为是边学边做的,所以有一些地方有了很麻烦的方法,登录验证也没做完,前端也很难看,只是做了基本的增删改查 1.新建project django-admin.py startproject studen ...
最新文章
- python 批量下载 代码_Python + Selenium +Chrome 批量下载网页代码修改
- SAP MM 外部采购流程里的Advanced Return Management
- 团队项目第一阶段冲刺站立会议4(4月21日)
- SD卡读写扇区注意事项(转)
- pythonprint中文教程_python中使用print输出中文的方法
- List集合的去重问题
- Git bash的中文化支持
- HTTPS时代全面到来,你准备好了吗? 1
- MAC 下MySQL常用命令
- xrd精修教程_XRD精修干货和三元材料的XRD精修实例
- 字幕/打轴/压制小tip——Aegisub MeGUI 极简操作指南
- idea启动azkaban2.5
- 数据中台与业务中台是什么关系?_光点科技
- 小熊派使SPI驱动TFT-LCD(ST7789)显示试验
- hdu 5312 打表加特判
- { }大括号和[ ]中括号的用法
- java集合面试锦集
- Linux C/C++程序崩溃bug调试方法
- 使用Aircrack-ng破解WiFi密码
- CH573 Peripheral 修改MTU
热门文章
- vue工程,高德地图信息窗体模块化插入,及信息窗口点击事件
- RetinaNet模型在DDSM数据集的应用问题(3)
- 计算机图片怎么截图快捷键,电脑截图快捷键四种截屏方式,笔记本电脑如何截屏截图?...
- 中冠百年|家庭理财投资必备资金规划有哪些
- 用计算机怎么算吸光度的回归方程,Pt含量与UV-Vis吸光度的线性回归拟合.doc
- 如何用十六进制换算十进制
- 《剑指offer》序——面试流程及面试须知
- C++友元(友元函数)
- 问题解决:ERROR: Cannot uninstall 'llvmlite'.
- 三体归零者和盘龙鸿蒙,三体中的神级文明 归零者 到底是一种怎样的存在?