再练


import java.util.*;//。
import java.util.Map.Entry;
 
class Student implements Comparable <Student>
/*定义一个Student类覆写hashCode和equals
方法使其具有比较性继承Comparable接口实现compaeTo方法使其具有一定的排序性*/
{  
 //定义三个私有成员
 private String name;                                          
 private int num;                                  
 private String addrees;
 Student (String name,int num,String addrees)//构造函数
 {
  this.name=name;
  this.num=num;
  this.addrees=addrees;
 }
 
 public int compareTo(Student s)//实现Comparable接口中的compareTo方法
 {
  int a= this.name.compareTo(s.name);
  if (a==0)
  return new Integer(this.num).compareTo(new Integer(s.num));
  return a;
 }
 public   String getName()
 {
  return name;
 }
 public  int getNum()
 {
  
  return num;
 }
 public  String getAddrees()
 {
  
  return addrees;
 }
 public int hashCode()//覆写hashCode方法
 {
  return name.hashCode()+num*34;
 }
 public boolean equals(Object obj)//覆写equals方法
 {
  if (!(obj instanceof Student))
  {
   throw new ClassCastException("失败");
  }
  Student s=(Student)obj;
  return this.name.equals(s.name)&&this.num==s.num&&this.addrees.equals(s.addrees);
 }
 public String toString()
 {
  return "学号: "+num+" 姓名: "+name+" 地址: "+addrees;
 }
 
}
public class MapTest {

 

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  HashMap<Student,Integer> map=new HashMap<Student,Integer>();
  map.put(new Student("Tom",001,"Baijing"), 53);
  map.put(new Student("Jam",002,"Baijing"), 87);
  map.put(new Student("Joy",003,"Baijing"), 96);
  map.put(new Student("Pak",004,"Baijing"), 49);
  
  //第一种取出方式 keySet方法
  Set<Student> keyset=map.keySet();
  Iterator it =keyset.iterator();
  while (it.hasNext())
  {
   Student st=(Student) it.next();
   Integer score=map.get(st);
   System.out.println(st+":::"+score);
   
  }
        //第二种取出方式 entrySet方法
  Set<Map.Entry<Student,Integer>> entryset=map.entrySet();
  Iterator<Map.Entry<Student,Integer>> its =entryset.iterator();
  while (its.hasNext())
  {
   Map.Entry<Student,Integer> mm=its.next();
   Student stu= mm.getKey();
   
   Integer sco=mm.getValue();
   System.out.println(stu+" 成绩: "+sco);
  }
  
 }

}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!对于使用YOLOv5来接着以前训练的模型再训练,您可以按照以下步骤进行操作: 1. 准备数据集:确保您有一个包含标注信息的新数据集,该数据集应与原始训练数据集相似。可以使用标注工具(如labelImg)对新数据集进行标注。 2. 配置训练参数:检查并更新YOLOv5的训练参数配置文件,例如`yolov5/models/yolov5s.yaml`。您可以调整学习率、迭代次数、批处理大小等参数。 3. 加载预训练模型:下载并加载之前训练的模型权重,您可以在YOLOv5的GitHub存储库中找到预训练权重文件。 4. 运行训练脚本:使用命令行运行训练脚本,指定新的数据集路径、权重文件路径和其他必要参数。示例命令如下: ``` python train.py --img 640 --batch 16 --epochs 100 --data /path/to/data.yaml --cfg ./models/yolov5s.yaml --weights /path/to/weights.pt ``` 其中,`--img`指定输入图像大小,`--batch`指定批处理大小,`--epochs`指定训练的迭代次数,`--data`指定数据集配置文件路径,`--cfg`指定模型配置文件路径,`--weights`指定预训练权重文件路径。 5. 观察训练进展:训练过程中,YOLOv5会输出训练日志和损失信息。您可以使用TensorBoard等工具来可视化训练进度和模型性能。 请注意,接着以前训练的模型再训练时,新的数据集应该与原始数据集的类别和标注信息保持一致,以便增量学习。此外,较小的学习率和更长的训练时间可能有助于更好地调整模型。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值