基于GIKT深度知识追踪模型的习题推荐系统源代码+数据库+使用说明,后端采用flask,前端采用vue

基于GIKT深度知识追踪模型的习题推荐系统

目录结构

  • Flask-BackEnd flask后端
    • app 后端主体文件
      • alg 深度学习模块
        • data 数据集
        • data_process.py 数据预处理
        • gikt.py GIKT模型
        • pebg.py PEBG模型
        • params.py 一些参数
        • train.py 仅模型训练
        • train_test.py 模型训练和测试-五折交叉验证
        • train_test2.py 模型训练和测试-4:1训练测试
        • utils.py 工具函数
      • view flask蓝图
      • _init_.py 初始化
      • create_data.py 创建初始数据
      • entity.py 实体类
      • setup.py 启动
    • migrate 数据库迁移文件
  • Vue-FrontEnd vue前端
    • public 共用文件
    • src 源代码
      • api 全局请求设置
      • assets 静态组件
      • components 自定义vue组件
      • layout 页面布局
      • router 路由
      • store 信息储存
      • views 页面
      • App.vue 开始文件
      • main.js js包引入
    • 其他的是一些配置

启动

上面未提及的一些目录都在.gitignore,请手动添加后再启动

前端

进入目录Vue-FrontEnd

cd Vue-FrontEnd

安装需要的包

cnpm install

启动

npm run serve

后端

  1. 用pycharm打开目录Flask-BackEnd

  2. 修改mysql数据库配置项

  3. 执行er_gikt.sql文件, 生成数据库结构

  4. 运行data_process.py,生成预训练数据

  5. 运行pre_train.py,生成预训练问题向量

  6. 运行train.py,训练并保存一次模型(以便后端调用)

  7. 用pycharm或者终端启动setup.py,根据报错安装需要的包,其中:

    • pytorch==1.10.1
    • flask==2.2.5
  8. 解决报错后,运行一次create_data.py(或者在__init__.py的app_context中调用一次create_data函数),在数据库中添加初始数据

  9. 重新启动,访问本机5001端口,测试系统

项目存在的一些问题

算法

  • PEBG模型未按论文实现,实际上忽略了pnn网络(实现中出现了问题,故将其忽略)
  • 参数仍可调优,最终结果可以继续优化

前端

  • 前端使用的是vue2+vue-cli,最好可以用vue3+vite重构一遍

  • 重复组件较多,Table,Chart等图都直接写在页面中,而未在assests中单独实现

  • 习题、知识的CRUD没有实现(个人感觉没有必要)

后端

  • 包引用(尤其是对算法包alg的引用)存在问题,使用了粗暴的解决方式 sys.path.append() ,且无法使用相对路径导入
  • flask数据库迁移会报错,只能自己手动通过DBMS修改

项目界面展示

在这里插入图片描述完整代码下载地址:基于GIKT深度知识追踪模型的习题推荐系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/432578.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机-AD(模拟信号转数字信号)-实验(电压采集)

介绍AD AD转换(Analog to Digital Conversion,模数转换)是将连续的模拟信号转换为离散的数字信号的过程。这个过程在各种电子设备中都非常重要,特别是在涉及传感器、音频信号、视频信号等需要进行数字化处理的领域。 个人理解&a…

《深度学习》ResNet残差网络、BN批处理层 结构、原理详解

目录 一、关于ResNet 1、什么是ResNet 2、传统卷积神经网络存在的问题 1)梯度消失和梯度爆炸问题 2)训练困难 3)特征表示能力受限 4)模型复杂度和计算负担 3、如何解决 1)解决梯度问题 BN层重要步骤: 2…

mqtt网关数据接入rabbitmq,缓存离线数据,实现消息保留

应用场景:网关将设备数据发布至mqtt服务器后,数采程序因为重启或者升级等原因,未能接到到离线的订阅消息,利用rabbitmq-mqtt可将离线数据缓存,待上线后接收 启用mqtt插件 rabbitmq-plugins enable rabbitmq_mqtt

C++:STL详解(二)string类的模拟实现

✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛) 🌈 个人Motto:他强任他强,清风拂山冈! 💫 欢迎来到我的学习笔记! 🔥🔥🔥🔥🔥本文参考文章&…

【HarmonyOS】深入理解@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

【HarmonyOS】深入理解Observed装饰器和ObjectLink装饰器:嵌套类对象属性变化 前言 之前就Observed和ObjectLink写过一篇讲解博客【HarmonyOS】 多层嵌套对象通过ObjectLink和Observed实现渲染更新处理! 其中就Observe监听类的使用,Object…

【Linux 报错】vim 保存文件时出现 E45: ‘readonly‘ option is set (add ! to override)

一、错误原因 该错误表明当前你尝试保存的是一个 只读文件,该文件权限设置为只读,具有只读的标识 系统为了防止你意外修改该只读文件,因此会阻止对只读文件的保存(他怕你修改了你还保存,破坏了只读属性) …

【Linux扩容根分区】LVM分区扩容过程踩坑记录

最近想要给自己使用的Linux操作系统的根分区进行扩容,解决完发现,原来问题如此简单。 特此记录,希望能帮助到有需要的人。 通过df -Th查看系统磁盘分区情况 通过vgdisplay 查看内容 实操过程中,原来红框中,Free PE …

变电站设备检测系统源码分享

变电站设备检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

webview2加载本地页面

加载方式 通过导航到文件 URL 加载本地内容 使用方式: webView->Navigate( L"file:///C:/Users/username/Documents/GitHub/Demos/demo-to-do/index.html"); 但是这种方式存在一些问题,比如: 存在跨域问题(我加载…

RocketMQ 常用命令mqadmin与控制面板

使⽤发送和接收消息验证MQ 验证生产者: 配置 nameserver 的环境变量 ,在发送/ 接收消息之前,需要告诉客户端 nameserver 的位置。配置环境变量 NAMESRV_ADDR : vim /etc/profileexport NAMESRV_ADDR"192.168.136.66:9876;1…

【网络安全】网络基础第一阶段——第一节:网络协议基础---- OSI与TCP/IP协议

从今天起,我们正式进入第二部分——网络基础。继续学习网络基础、网络协议等相关内容🌟🌟🌟 目录 一、OSI模型 1.1 分层思想 1.2 OSI参考模型 1.3 数据封装与解封装 1.3.1 数据的封装过程 1.3.2 数据的解封装过程 二、TCP/…

探索C语言与Linux编程:获取当前用户ID与进程ID

探索C语言与Linux编程:获取当前用户ID与进程ID 一、Linux系统概述与用户、进程概念二、C语言与系统调用三、获取当前用户ID四、获取当前进程ID五、综合应用:同时获取用户ID和进程ID六、深入理解与扩展七、结语在操作系统与编程语言的交汇点,Linux作为开源操作系统的典范,为…

2025年第十届智能信息技术国际会议 (ICIIT 2025)即将召开!

第10届智能信息技术国际会议(ICIIT 2025)将于2025年2月20日至23日在越南河内举行。ICIIT系列会议将每年举行,为智能信息技术及相关领域提供互动论坛,除了越南的研究人员外,会议小组还欢迎来自世界各地的有兴趣与该地区…

【在Linux世界中追寻伟大的One Piece】进程间通信

目录 1 -> 进程间通信介绍 1.1 -> 进程间通信目的 1.2 -> 进程间通信发展 1.3 -> 进程间通信分类 1.3.1 -> 管道 1.3.2 -> System V IPC 1.3.3 -> POSIX IPC 2 -> 管道 2.1 -> 什么是管道 2.2 -> 匿名管道 2.3 -> 实例代码 2.4 -…

JavaScript typeof运算符

在js中可以typeof来做到确定一个值到底是什么类型。 <script>var num 100;//数值类型var name "mingzi";//字符串类型var book true;//布尔类型var student {name: " 小明",age: 16,tnum: "213444"}//对象是由多个数据组合而成&#x…

[NewStarCTF 2023 公开赛道]Begin of PHP1

开始代码审计. <?php error_reporting(0); highlight_file(__FILE__);if(isset($_GET[key1]) && isset($_GET[key2])){echo "Level 1<br>";if($_GET[key1] ! $_GET[key2] && md5($_GET[key1]) md5($_GET[key2])){$flag1 True;}else{die(…

项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持windows、linux、国产麒麟系统)

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/142454993 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、Op…

第24届工博会盛大开启,大腾智能携前沿数字化解决方案亮相

2024年9月24日&#xff0c;第24届中国国际工业博览会(ICIF China 2024)&#xff08;以下简称“工博会”&#xff09;在上海盛大开幕。本届工博会以“新质领航 数字赋能”为主题&#xff0c;覆盖工业自动化、智能制造等多个领域&#xff0c;汇聚全球制造业的精英与前沿技术&…

MySQL连接查询解析与性能优化成本

文章目录 一、连接查询1.连接查询基础1. INNER JOIN内连接2. LEFT JOIN (或 LEFT OUTER JOIN)左外连接3. RIGHT JOIN (或 RIGHT OUTER JOIN)右外连接4. FULL OUTER JOIN 2.连接查询的两种过滤条件3.连接的原理 二、性能优化成本1.基于成本的优化2.调节成本常数(1)mysql.server_…

Tangle解压玩具商标重复维权,尚未TRO,卖家速查

案件基本情况&#xff1a;起诉时间&#xff1a;2024-9-13案件号&#xff1a;2024-cv-61700品牌&#xff1a;Tangle原告&#xff1a;Tangle Inc.原告律所&#xff1a;Boies Schiller Flexner起诉地&#xff1a;佛罗里达州南部法院涉案商标/版权&#xff1a;原告品牌简介&#xf…