发布小练

import { Component, OnInit } from '@angular/core';
import { Storage } from '@ionic/storage';
import { Router } from '@angular/router';
import { InterceptorService } from 'src/app/shared/providers/interceptor.service';
import { url } from 'inspector';

@Component({
  selector: 'app-release-question',
  templateUrl: './release-question.page.html',
  styleUrls: ['./release-question.page.scss'],
})
export class ReleaseQuestionPage implements OnInit {

/*---------------------------------变量声明区------------------------------------- */
  // 班级信息
  classLabel = [];
  // 模板ID
  templateId = '';
  // 上课班ID集合
  classIdList = [];
  // 复选框是否选中
  checkList = [];
  // 未选中的复选框个数
  checkOutSum = 0;
  // 考试名称
  examineeName = '';
/*---------------------------------变量声明区------------------------------------- */

  constructor(
    public router: Router,
    public http: InterceptorService,
    public storage: Storage
    ) { }

/*---------------------------------方法区------------------------------------- */

  ngOnInit() {
    this.queryClass();
  }

  /**
   * 查询班级信息
   * @author 郭满亮
   * @since 2019年1月30日19:59:48
   */
  queryClass() {
    this.templateId = localStorage.getItem('templateId');
    this.storage.get('userId').then((val) => {
      const classUrl = 'exam-web/teacherTeachClass/findByTeacherId/' + val + '/' + this.templateId;
      this.http.get(classUrl).subscribe(
        res => {
          if (res.json().code === '0000') {
            this.classLabel = res.json().data;
          }
        });
    });
  }

  /**
   * 获取班级ID
   * @author 郭满亮
   * @since 2019年1月30日20:00:13
   */
  getClass(classId: string, index: number) {
    if (this.checkList[index] === true) {
      this.classIdList[index] = classId;
    } else {
      this.classIdList[index] = '';
    }
  }

  /**
   * 发布小练
   * @author 郭满亮
   * @since 2019年1月30日20:33:19
   */
  okRelease() {
    for (let j = 0 ; j < this.checkList.length ; j++) {
      if (this.checkList[j] === false) {
        this.checkOutSum += 1;
      }
    }
    // 考试名称 上课班id 模板id
    for (let i = 0; i < this.classIdList.length; i++) {
      if (this.classIdList[i] !== '' && this.classIdList[i] !== null && this.classIdList[i] !== undefined) {
        const releaseUrl = 'exam-web/studentTeachClass/savePractice/'
        + this.examineeName + '/' + this.classIdList[i] + '/' + localStorage.getItem('templateId');
        this.http.post(releaseUrl).subscribe(
        res => {
          if (res.json().code === '0000') {
            alert('发布小练成功');
            this.router.navigateByUrl('tabs/home/teacher-main/released-practice');
          }
        });
      }
    }

    // 若所有班级都发布,则修改模版状态
    if (this.checkOutSum === 0) {
      const urlState = '';
      this.http.post(urlState).subscribe();
    }

  }
/*---------------------------------方法区------------------------------------- */

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO(You Only Look Once)是一个目标检测算法,其训练和发布流程可以分为以下几个步骤: 1. 数据收集和准备:首先,您需要收集包含目标物体的图像和对应的标注框。这些标注框指示了图像中目标物体的位置和类别信息。确保您的数据集具有足够的样本和多样性,以获得良好的模型性能。然后,将数据集进行预处理,例如调整图像大小、标准化图像、生成数据增强等。 2. 模型选择与配置:选择适合您需求的YOLO模型版本,例如YOLOv1、YOLOv2、YOLOv3、YOLOv4等。根据您的计算资源和性能要求,配置网络参数,如输入图像大小、训练批次大小、学习率等。 3. 模型训练:使用准备好的数据集和配置好的模型,进行模型训练。这通常涉及将数据集分为训练集和验证集,使用训练集来优化模型参数,并使用验证集来评估模型性能。通过迭代训练和调整参数,使模型能够准确地检测和分类目标物体。 4. 模型评估与调优:在训练过程中,定期评估模型在验证集上的性能。通过计算指标,如准确率、召回率、F1分数等,来评估模型的精度和召回率。根据评估结果,进行模型的调优,如调整网络结构、增加训练迭代次数等。 5. 模型导出与部署:在完成模型训练和调优后,将模型导出为适当的格式,如TensorFlow SavedModel、ONNX、或者其他支持的格式。然后,将导出的模型部署到目标平台或设备上,例如服务器、云端或者边缘设备。根据不同部署环境,可能需要进行适当的优化和配置。 6. 模型推理与应用:一旦模型成功部署,可以使用它进行目标检测任务。将输入图像传递给模型,模型将返回检测到的目标物体及其位置信息。根据应用需求,您可以对检测结果进行后续处理和应用,如目标跟踪、计数、分析等。 请注意,YOLO的训练和发布流程是一个复杂的过程,需要一定的机器学习和计算机视觉知识。确保您有足够的资源和专业知识来完成这些步骤,或者寻求专业团队的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值