零基础学java---Day_06:面向对象_02(持续更新ing)

本文深入探讨了Java中方法的定义与使用,包括无参无返回值、有参无返回值、无参有返回值及有参有返回值四种方法类型。同时,详细解析了构造方法的作用与调用方式,以及面向对象的三大特性之一——封装,特别是private关键字在提升代码安全性和可维护性方面的重要作用。

课程目标:

1、普通方法
2、构造方法
3、面向对象的三个特点
4、封装private-私有的

1.方法

public class MethodDemo {
	/*
	 * 方法的写法
	 * [修饰符] 返回值类型 方法名([参数列表]){方法体}
	 * */
	
	/*
	 * 1。没有返回值,没有参数列表的方法
	 * 没有返回值-值得就是返回值类型是void
	 * 没有参数列表-()里面没有任何内容
	 */
	public void m1(){
		System.out.println("这是一个没有返回值没有参数列表的方法");
	}
	
	/*2没有返回值,有参数列表的方法
	 * 没有返回值--返回值类型是void
	 * 有参数列表--()是有内容的  
	 * 				写法:(数据类型 参数名,数据类型 参数名,数据类型 参数名。。。)
	 */
	/*
	 * 2.1  有一个参数的方法
	 */
	public void m2_1(int a){
		System.out.println("a的值是"+a);
	}
	
	/*2.2有两个参数的方法
	 */
	public void m2_2(int a,int b){
		System.out.println(a+b);
	}
	/**
	 * 2.3有多个参数的方法
	 */
	public void m2_3(int a,double b,String c,char d,int e,int f){
		System.out.println("有多个参数的方法");
	}
	
	/*3.有返回值,没有参数列表的方法
	 * 	没有参数列表 --()是没有东西的
	 * 	有返回值: 指的是返回值类型不是void
	 * 			可以是任意的数据类型  比如说Int,double,long,char,数组。。。String
	 * 	有返回值的方法,必须有返回对应数据类型的结果:
	 * 			return 与返回值类型对象的值得结果;
	 */
	public int m3(){
		System.out.println("只是一个返回值类型为Int的方法");
		return 1;
	}
	
	/*4.有返回值,有参数列表的方法
	 *有返回值-返回值类型不是void ,可以是任意数据类型
	 * 有参数列表-()有内容,数据类型 参数名,数据类型 参数名,数据类型 参数名。。。
	 */
	public int m4(int a,int b){
		
		return a+b;
	}

}

测试类:
在这里插入图片描述

2.构造方法

	/*
	 * 构造方法  构造器 构造函数
	 * 构造方法是一种特殊的方法
	 * 
	 * 普通方法的写法:
	 * 	[修饰符] 返回值类型 方法名([参数列表]){方法体}
	 * 	 作用:	用来定定义功能的,
	 * 	调用方式:	调用的时候   对象名.方法名([参数列表]);
	 * 	
	 * 
	 * 构造方法的写法
	 * [修饰符] 类名([参数列表]){方法体}
	 *  作用: 1.是用来创建对象的   Car c=new Car();
	 *  	  2.给对象的属性赋初始化值
	 *  调用方式: 构造方法不能通过对象调用;  new 构造函数;
	 * 
	 */
public class Method2Demo {
	//1.属性
	String name;
	int age;
	//2.构造方法  [修饰符] 类名([参数列表]){}
	
	//这是一个无参数的构造方法,这个构造方法默认存在
	public Method2Demo(){
		System.out.println("this is gouzaoFF");
	}
	
	public Method2Demo(int a){
		System.out.println("有参数的");
	}
	
	public Method2Demo(int a,int b){
		System.out.println("有参数的2");
	}
	
	//方法
	public void say(){
		System.out.println("my name is"+name+",i am "+age+"years old");
	}

在这里插入图片描述
给对象的属性赋初始化值:
在这里插入图片描述

3.面向对象的三个特点:

封装,继承和多态

4.封装private-私有的

把某一个功能封装成一个方法
输出最大数

面向对面里面的封装 private
在这里插入图片描述
在这里插入图片描述


	/*private 的意识是私有
	 * 为什么需要封装:  可以提高代码的安全性和可维护性
	 * 	封装就是对某个类的属性或者方法进行私有化,
	 * 让可信任的类进行访问和操作,对不可信任的类进行隐藏
	 * 
	 * 封装分为对属性的封装和对方法的封装
	 * 	对属性的封装
	 * 		private 数据类型 属性名;
	 * 		封装之后只能自己用,不让别人用了;
	 * 如果想要让其他的类进行访问,需要提供公共public的getter和setter方法
	 * 				get方法是获取值得
	 * 				set方法是设置值得
	 * 
	 * 对方法的封装:
	 * 	private 返回值类型 方法名(【参数列表】){方法体}
	 * 	只有自己能用,别人不能用
	 * 
	 */
public class PrivateDemo {
	public void setName(String name){
		this.name=name;
	}

	public String getName(){
		return name;
	}
	
	private void say(){
		System.out.println(name);
	}
	
}
2025-09-24 10:56:51,535 INFO: [LR验证] iter 320100, 真实LR: 1.000000e-04 2025-09-24 10:56:51,536 INFO: [001_P..][epoch:370, iter: 320,100, lr:(1.000e-04,)] [eta: 1 day, 15:06:19, time (data): 0.763 (0.764)] l_pix_raw: 8.5790e-03 l_pix: 9.4369e-03 l_edge_raw: 1.3808e-02 l_edge: 2.3744e-03 edge_w: 1.7196e-01 2025-09-24 10:58:08,000 INFO: [LR验证] iter 320200, 真实LR: 1.000000e-04 2025-09-24 10:58:08,000 INFO: [001_P..][epoch:370, iter: 320,200, lr:(1.000e-04,)] [eta: 1 day, 15:04:55, time (data): 0.765 (0.765)] l_pix_raw: 3.1117e-02 l_pix: 3.4228e-02 l_edge_raw: 4.4752e-02 l_edge: 7.6937e-03 edge_w: 1.7192e-01 2025-09-24 10:59:24,597 INFO: [LR验证] iter 320300, 真实LR: 1.000000e-04 2025-09-24 10:59:24,597 INFO: [001_P..][epoch:370, iter: 320,300, lr:(1.000e-04,)] [eta: 1 day, 15:03:32, time (data): 0.765 (0.765)] l_pix_raw: 1.4549e-02 l_pix: 1.6004e-02 l_edge_raw: 2.2237e-02 l_edge: 3.8222e-03 edge_w: 1.7188e-01 2025-09-24 11:00:41,662 INFO: [LR验证] iter 320400, 真实LR: 1.000000e-04 2025-09-24 11:00:41,663 INFO: [001_P..][epoch:371, iter: 320,400, lr:(1.000e-04,)] [eta: 1 day, 15:02:10, time (data): 0.771 (0.771)] l_pix_raw: 2.4978e-02 l_pix: 2.7476e-02 l_edge_raw: 3.4555e-02 l_edge: 5.9380e-03 edge_w: 1.7184e-01 2025-09-24 11:01:58,127 INFO: [LR验证] iter 320500, 真实LR: 1.000000e-04 2025-09-24 11:01:58,127 INFO: [001_P..][epoch:371, iter: 320,500, lr:(1.000e-04,)] [eta: 1 day, 15:00:46, time (data): 0.768 (0.768)] l_pix_raw: 1.1969e-02 l_pix: 1.3166e-02 l_edge_raw: 1.8645e-02 l_edge: 3.2032e-03 edge_w: 1.7180e-01 2025-09-24 11:03:14,623 INFO: [LR验证] iter 320600, 真实LR: 1.000000e-04 2025-09-24 11:03:14,624 INFO: [001_P..][epoch:371, iter: 320,600, lr:(1.000e-04,)] [eta: 1 day, 14:59:23, time (data): 0.765 (0.765)] l_pix_raw: 1.6610e-02 l_pix: 1.8271e-02 l_edge_raw: 2.4607e-02 l_edge: 4.2264e-03 edge_w: 1.7176e-01 2025-09-24 11:04:31,111 INFO: [LR验证] iter 320700, 真实LR: 1.000000e-04 2025-09-24 11:04:31,112 INFO: [001_P..][epoch:371, iter: 320,700, lr:(1.000e-04,)] [eta: 1 day, 14:58:00, time (data): 0.765 (0.765)] l_pix_raw: 9.4599e-03 l_pix: 1.0406e-02 l_edge_raw: 1.5260e-02 l_edge: 2.6205e-03 edge_w: 1.7172e-01 2025-09-24 11:05:47,534 INFO: [LR验证] iter 320800, 真实LR: 1.000000e-04 2025-09-24 11:05:47,535 INFO: [001_P..][epoch:371, iter: 320,800, lr:(1.000e-04,)] [eta: 1 day, 14:56:36, time (data): 0.764 (0.764)] l_pix_raw: 1.2573e-02 l_pix: 1.3830e-02 l_edge_raw: 2.0572e-02 l_edge: 3.5318e-03 edge_w: 1.7168e-01 2025-09-24 11:07:04,124 INFO: [LR验证] iter 320900, 真实LR: 1.000000e-04 2025-09-24 11:07:04,125 INFO: [001_P..][epoch:371, iter: 320,900, lr:(1.000e-04,)] [eta: 1 day, 14:55:13, time (data): 0.765 (0.765)] l_pix_raw: 1.9917e-02 l_pix: 2.1909e-02 l_edge_raw: 3.1291e-02 l_edge: 5.3707e-03 edge_w: 1.7164e-01 2025-09-24 11:08:20,820 INFO: [LR验证] iter 321000, 真实LR: 1.000000e-04 2025-09-24 11:08:20,821 INFO: [001_P..][epoch:371, iter: 321,000, lr:(1.000e-04,)] [eta: 1 day, 14:53:50, time (data): 0.767 (0.767)] l_pix_raw: 2.7376e-02 l_pix: 3.0114e-02 l_edge_raw: 3.8157e-02 l_edge: 6.5478e-03 edge_w: 1.7160e-01 2025-09-24 11:09:37,473 INFO: [LR验证] iter 321100, 真实LR: 1.000000e-04 2025-09-24 11:09:37,474 INFO: [001_P..][epoch:371, iter: 321,100, lr:(1.000e-04,)] [eta: 1 day, 14:52:27, time (data): 0.767 (0.767)] l_pix_raw: 7.2436e-03 l_pix: 7.9680e-03 l_edge_raw: 9.3046e-03 l_edge: 1.5963e-03 edge_w: 1.7156e-01 2025-09-24 11:10:54,179 INFO: [LR验证] iter 321200, 真实LR: 1.000000e-04 2025-09-24 11:10:54,179 INFO: [001_P..][epoch:371, iter: 321,200, lr:(1.000e-04,)] [eta: 1 day, 14:51:05, time (data): 0.767 (0.767)] l_pix_raw: 1.0696e-02 l_pix: 1.1765e-02 l_edge_raw: 1.6172e-02 l_edge: 2.7738e-03 edge_w: 1.7152e-01 2025-09-24 11:12:11,553 INFO: [LR验证] iter 321300, 真实LR: 1.000000e-04 2025-09-24 11:12:11,554 INFO: [001_P..][epoch:372, iter: 321,300, lr:(1.000e-04,)] [eta: 1 day, 14:49:44, time (data): 0.770 (0.770)] l_pix_raw: 6.8921e-03 l_pix: 7.5813e-03 l_edge_raw: 8.8889e-03 l_edge: 1.5243e-03 edge_w: 1.7148e-01 2025-09-24 11:13:28,187 INFO: [LR验证] iter 321400, 真实LR: 1.000000e-04 2025-09-24 11:13:28,188 INFO: [001_P..][epoch:372, iter: 321,400, lr:(1.000e-04,)] [eta: 1 day, 14:48:21, time (data): 0.766 (0.766)] l_pix_raw: 1.3217e-02 l_pix: 1.4539e-02 l_edge_raw: 1.9287e-02 l_edge: 3.3065e-03 edge_w: 1.7144e-01 2025-09-24 11:14:44,877 INFO: [LR验证] iter 321500, 真实LR: 1.000000e-04 2025-09-24 11:14:44,878 INFO: [001_P..][epoch:372, iter: 321,500, lr:(1.000e-04,)] [eta: 1 day, 14:46:59, time (data): 0.767 (0.767)] l_pix_raw: 1.0447e-02 l_pix: 1.1492e-02 l_edge_raw: 1.7424e-02 l_edge: 2.9865e-03 edge_w: 1.7140e-01 2025-09-24 11:16:01,575 INFO: [LR验证] iter 321600, 真实LR: 1.000000e-04 2025-09-24 11:16:01,576 INFO: [001_P..][epoch:372, iter: 321,600, lr:(1.000e-04,)] [eta: 1 day, 14:45:36, time (data): 0.767 (0.767)] l_pix_raw: 6.8267e-03 l_pix: 7.5093e-03 l_edge_raw: 1.0564e-02 l_edge: 1.8103e-03 edge_w: 1.7136e-01 2025-09-24 11:17:18,335 INFO: [LR验证] iter 321700, 真实LR: 1.000000e-04 2025-09-24 11:17:18,336 INFO: [001_P..][epoch:372, iter: 321,700, lr:(1.000e-04,)] [eta: 1 day, 14:44:13, time (data): 0.767 (0.767)] l_pix_raw: 9.1914e-03 l_pix: 1.0111e-02 l_edge_raw: 1.3909e-02 l_edge: 2.3829e-03 edge_w: 1.7132e-01 2025-09-24 11:18:35,041 INFO: [LR验证] iter 321800, 真实LR: 1.000000e-04 2025-09-24 11:18:35,041 INFO: [001_P..][epoch:372, iter: 321,800, lr:(1.000e-04,)] [eta: 1 day, 14:42:51, time (data): 0.767 (0.767)] l_pix_raw: 8.6973e-03 l_pix: 9.5670e-03 l_edge_raw: 1.3033e-02 l_edge: 2.2323e-03 edge_w: 1.7128e-01 2025-09-24 11:19:51,751 INFO: [LR验证] iter 321900, 真实LR: 1.000000e-04 2025-09-24 11:19:51,752 INFO: [001_P..][epoch:372, iter: 321,900, lr:(1.000e-04,)] [eta: 1 day, 14:41:28, time (data): 0.767 (0.767)] l_pix_raw: 1.4516e-02 l_pix: 1.5968e-02 l_edge_raw: 2.2686e-02 l_edge: 3.8848e-03 edge_w: 1.7124e-01 2025-09-24 11:21:08,664 INFO: [LR验证] iter 322000, 真实LR: 1.000000e-04 2025-09-24 11:21:08,665 INFO: [001_P..][epoch:372, iter: 322,000, lr:(1.000e-04,)] [eta: 1 day, 14:40:06, time (data): 0.769 (0.769)] l_pix_raw: 1.4229e-02 l_pix: 1.5652e-02 l_edge_raw: 2.0770e-02 l_edge: 3.5558e-03 edge_w: 1.7120e-01 2025-09-24 11:22:26,125 INFO: [LR验证] iter 322100, 真实LR: 1.000000e-04 2025-09-24 11:22:26,126 INFO: [001_P..][epoch:373, iter: 322,100, lr:(1.000e-04,)] [eta: 1 day, 14:38:46, time (data): 0.772 (0.772)] l_pix_raw: 1.7065e-02 l_pix: 1.8771e-02 l_edge_raw: 2.7584e-02 l_edge: 4.7212e-03 edge_w: 1.7116e-01 2025-09-24 11:23:42,933 INFO: [LR验证] iter 322200, 真实LR: 1.000000e-04 2025-09-24 11:23:42,934 INFO: [001_P..][epoch:373, iter: 322,200, lr:(1.000e-04,)] [eta: 1 day, 14:37:24, time (data): 0.768 (0.768)] l_pix_raw: 1.3591e-02 l_pix: 1.4950e-02 l_edge_raw: 1.9220e-02 l_edge: 3.2890e-03 edge_w: 1.7112e-01 2025-09-24 11:24:59,679 INFO: [LR验证] iter 322300, 真实LR: 1.000000e-04 2025-09-24 11:24:59,679 INFO: [001_P..][epoch:373, iter: 322,300, lr:(1.000e-04,)] [eta: 1 day, 14:36:02, time (data): 0.768 (0.768)] l_pix_raw: 6.8897e-03 l_pix: 7.5787e-03 l_edge_raw: 1.0754e-02 l_edge: 1.8397e-03 edge_w: 1.7108e-01 2025-09-24 11:26:16,461 INFO: [LR验证] iter 322400, 真实LR: 1.000000e-04 2025-09-24 11:26:16,461 INFO: [001_P..][epoch:373, iter: 322,400, lr:(1.000e-04,)] [eta: 1 day, 14:34:39, time (data): 0.768 (0.768)] l_pix_raw: 1.8206e-02 l_pix: 2.0026e-02 l_edge_raw: 2.6018e-02 l_edge: 4.4501e-03 edge_w: 1.7104e-01 2025-09-24 11:27:33,239 INFO: [LR验证] iter 322500, 真实LR: 1.000000e-04 2025-09-24 11:27:33,239 INFO: [001_P..][epoch:373, iter: 322,500, lr:(1.000e-04,)] [eta: 1 day, 14:33:17, time (data): 0.768 (0.768)] l_pix_raw: 1.9110e-02 l_pix: 2.1021e-02 l_edge_raw: 3.0107e-02 l_edge: 5.1482e-03 edge_w: 1.7100e-01 2025-09-24 11:28:49,944 INFO: [LR验证] iter 322600, 真实LR: 1.000000e-04 2025-09-24 11:28:49,944 INFO: [001_P..][epoch:373, iter: 322,600, lr:(1.000e-04,)] [eta: 1 day, 14:31:55, time (data): 0.767 (0.767)] l_pix_raw: 2.3648e-02 l_pix: 2.6013e-02 l_edge_raw: 3.3432e-02 l_edge: 5.7156e-03 edge_w: 1.7096e-01 2025-09-24 11:30:06,569 INFO: [LR验证] iter 322700, 真实LR: 1.000000e-04 2025-09-24 11:30:06,570 INFO: [001_P..][epoch:373, iter: 322,700, lr:(1.000e-04,)] [eta: 1 day, 14:30:32, time (data): 0.767 (0.767)] l_pix_raw: 9.1326e-03 l_pix: 1.0046e-02 l_edge_raw: 1.1899e-02 l_edge: 2.0338e-03 edge_w: 1.7092e-01 2025-09-24 11:31:23,183 INFO: [LR验证] iter 322800, 真实LR: 1.000000e-04 2025-09-24 11:31:23,183 INFO: [001_P..][epoch:373, iter: 322,800, lr:(1.000e-04,)] [eta: 1 day, 14:29:09, time (data): 0.766 (0.766)] l_pix_raw: 1.3779e-02 l_pix: 1.5157e-02 l_edge_raw: 2.2967e-02 l_edge: 3.9245e-03 edge_w: 1.7088e-01 2025-09-24 11:32:39,819 INFO: [LR验证] iter 322900, 真实LR: 1.000000e-04 2025-09-24 11:32:39,820 INFO: [001_P..][epoch:373, iter: 322,900, lr:(1.000e-04,)] [eta: 1 day, 14:27:47, time (data): 0.766 (0.766)] l_pix_raw: 1.1053e-02 l_pix: 1.2158e-02 l_edge_raw: 1.6817e-02 l_edge: 2.8730e-03 edge_w: 1.7084e-01 2025-09-24 11:33:57,031 INFO: [LR验证] iter 323000, 真实LR: 1.000000e-04 2025-09-24 11:33:57,032 INFO: [001_P..][epoch:374, iter: 323,000, lr:(1.000e-04,)] [eta: 1 day, 14:26:26, time (data): 0.773 (0.773)] l_pix_raw: 1.5928e-02 l_pix: 1.7520e-02 l_edge_raw: 2.4779e-02 l_edge: 4.2323e-03 edge_w: 1.7080e-01 2025-09-24 11:35:13,711 INFO: [LR验证] iter 323100, 真实LR: 1.000000e-04 2025-09-24 11:35:13,712 INFO: [001_P..][epoch:374, iter: 323,100, lr:(1.000e-04,)] [eta: 1 day, 14:25:04, time (data): 0.770 (0.770)] l_pix_raw: 1.4664e-02 l_pix: 1.6131e-02 l_edge_raw: 2.2730e-02 l_edge: 3.8813e-03 edge_w: 1.7076e-01 2025-09-24 11:36:30,409 INFO: [LR验证] iter 323200, 真实LR: 1.000000e-04 2025-09-24 11:36:30,410 INFO: [001_P..][epoch:374, iter: 323,200, lr:(1.000e-04,)] [eta: 1 day, 14:23:41, time (data): 0.767 (0.767)] l_pix_raw: 6.8869e-03 l_pix: 7.5756e-03 l_edge_raw: 8.9308e-03 l_edge: 1.5247e-03 edge_w: 1.7072e-01 2025-09-24 11:37:47,023 INFO: [LR验证] iter 323300, 真实LR: 1.000000e-04 2025-09-24 11:37:47,024 INFO: [001_P..][epoch:374, iter: 323,300, lr:(1.000e-04,)] [eta: 1 day, 14:22:19, time (data): 0.766 (0.766)] l_pix_raw: 1.5713e-02 l_pix: 1.7284e-02 l_edge_raw: 2.1238e-02 l_edge: 3.6249e-03 edge_w: 1.7068e-01 2025-09-24 11:39:03,631 INFO: [LR验证] iter 323400, 真实LR: 1.000000e-04 2025-09-24 11:39:03,632 INFO: [001_P..][epoch:374, iter: 323,400, lr:(1.000e-04,)] [eta: 1 day, 14:20:56, time (data): 0.766 (0.766)] l_pix_raw: 1.2046e-02 l_pix: 1.3250e-02 l_edge_raw: 1.9307e-02 l_edge: 3.2945e-03 edge_w: 1.7064e-01 2025-09-24 11:40:20,285 INFO: [LR验证] iter 323500, 真实LR: 1.000000e-04 2025-09-24 11:40:20,285 INFO: [001_P..][epoch:374, iter: 323,500, lr:(1.000e-04,)] [eta: 1 day, 14:19:34, time (data): 0.766 (0.766)] l_pix_raw: 2.0300e-02 l_pix: 2.2330e-02 l_edge_raw: 3.1201e-02 l_edge: 5.3230e-03 edge_w: 1.7060e-01 2025-09-24 11:41:36,912 INFO: [LR验证] iter 323600, 真实LR: 1.000000e-04 2025-09-24 11:41:36,912 INFO: [001_P..][epoch:374, iter: 323,600, lr:(1.000e-04,)] [eta: 1 day, 14:18:11, time (data): 0.766 (0.766)] l_pix_raw: 2.0017e-02 l_pix: 2.2018e-02 l_edge_raw: 2.8565e-02 l_edge: 4.8721e-03 edge_w: 1.7056e-01 2025-09-24 11:42:53,580 INFO: [LR验证] iter 323700, 真实LR: 1.000000e-04 2025-09-24 11:42:53,580 INFO: [001_P..][epoch:374, iter: 323,700, lr:(1.000e-04,)] [eta: 1 day, 14:16:49, time (data): 0.767 (0.767)] l_pix_raw: 2.1227e-02 l_pix: 2.3349e-02 l_edge_raw: 3.5355e-02 l_edge: 6.0287e-03 edge_w: 1.7052e-01 2025-09-24 11:44:10,814 INFO: [LR验证] iter 323800, 真实LR: 1.000000e-04 2025-09-24 11:44:10,814 INFO: [001_P..][epoch:375, iter: 323,800, lr:(1.000e-04,)] [eta: 1 day, 14:15:28, time (data): 0.773 (0.773)] l_pix_raw: 1.7930e-02 l_pix: 1.9724e-02 l_edge_raw: 3.0754e-02 l_edge: 5.2429e-03 edge_w: 1.7048e-01 2025-09-24 11:45:27,487 INFO: [LR验证] iter 323900, 真实LR: 1.000000e-04 2025-09-24 11:45:27,487 INFO: [001_P..][epoch:375, iter: 323,900, lr:(1.000e-04,)] [eta: 1 day, 14:14:06, time (data): 0.770 (0.770)] l_pix_raw: 6.1266e-03 l_pix: 6.7393e-03 l_edge_raw: 7.1422e-03 l_edge: 1.2173e-03 edge_w: 1.7044e-01 2025-09-24 11:46:44,156 INFO: [LR验证] iter 324000, 真实LR: 1.000000e-04 2025-09-24 11:46:44,156 INFO: [001_P..][epoch:375, iter: 324,000, lr:(1.000e-04,)] [eta: 1 day, 14:12:44, time (data): 0.767 (0.767)] l_pix_raw: 2.0144e-02 l_pix: 2.2159e-02 l_edge_raw: 3.1740e-02 l_edge: 5.4084e-03 edge_w: 1.7040e-01 2025-09-24 11:48:00,821 INFO: [LR验证] iter 324100, 真实LR: 1.000000e-04 2025-09-24 11:48:00,821 INFO: [001_P..][epoch:375, iter: 324,100, lr:(1.000e-04,)] [eta: 1 day, 14:11:21, time (data): 0.767 (0.767)] l_pix_raw: 7.2967e-03 l_pix: 8.0264e-03 l_edge_raw: 1.1137e-02 l_edge: 1.8973e-03 edge_w: 1.7036e-01 2025-09-24 11:49:17,484 INFO: [LR验证] iter 324200, 真实LR: 1.000000e-04 2025-09-24 11:49:17,484 INFO: [001_P..][epoch:375, iter: 324,200, lr:(1.000e-04,)] [eta: 1 day, 14:09:59, time (data): 0.766 (0.766)] l_pix_raw: 1.1552e-02 l_pix: 1.2708e-02 l_edge_raw: 1.8851e-02 l_edge: 3.2107e-03 edge_w: 1.7032e-01 2025-09-24 11:50:34,228 INFO: [LR验证] iter 324300, 真实LR: 1.000000e-04 2025-09-24 11:50:34,229 INFO: [001_P..][epoch:375, iter: 324,300, lr:(1.000e-04,)] [eta: 1 day, 14:08:37, time (data): 0.767 (0.767)] l_pix_raw: 1.7230e-02 l_pix: 1.8953e-02 l_edge_raw: 2.6321e-02 l_edge: 4.4820e-03 edge_w: 1.7028e-01 2025-09-24 11:51:50,986 INFO: [LR验证] iter 324400, 真实LR: 1.000000e-04 2025-09-24 11:51:50,986 INFO: [001_P..][epoch:375, iter: 324,400, lr:(1.000e-04,)] [eta: 1 day, 14:07:15, time (data): 0.767 (0.767)] l_pix_raw: 2.2822e-02 l_pix: 2.5105e-02 l_edge_raw: 3.9157e-02 l_edge: 6.6660e-03 edge_w: 1.7024e-01 2025-09-24 11:53:07,655 INFO: [LR验证] iter 324500, 真实LR: 1.000000e-04 2025-09-24 11:53:07,655 INFO: [001_P..][epoch:375, iter: 324,500, lr:(1.000e-04,)] [eta: 1 day, 14:05:53, time (data): 0.767 (0.767)] l_pix_raw: 1.5773e-02 l_pix: 1.7350e-02 l_edge_raw: 2.5503e-02 l_edge: 4.3405e-03 edge_w: 1.7020e-01 2025-09-24 11:54:24,350 INFO: [LR验证] iter 324600, 真实LR: 1.000000e-04 2025-09-24 11:54:24,351 INFO: [001_P..][epoch:375, iter: 324,600, lr:(1.000e-04,)] [eta: 1 day, 14:04:31, time (data): 0.767 (0.767)] l_pix_raw: 2.1171e-02 l_pix: 2.3288e-02 l_edge_raw: 3.1179e-02 l_edge: 5.3054e-03 edge_w: 1.7016e-01 2025-09-24 11:55:41,546 INFO: [LR验证] iter 324700, 真实LR: 1.000000e-04 2025-09-24 11:55:41,546 INFO: [001_P..][epoch:376, iter: 324,700, lr:(1.000e-04,)] [eta: 1 day, 14:03:10, time (data): 0.770 (0.770)] l_pix_raw: 1.5991e-02 l_pix: 1.7591e-02 l_edge_raw: 2.7125e-02 l_edge: 4.6145e-03 edge_w: 1.7012e-01 2025-09-24 11:56:57,919 INFO: [LR验证] iter 324800, 真实LR: 1.000000e-04 2025-09-24 11:56:57,919 INFO: [001_P..][epoch:376, iter: 324,800, lr:(1.000e-04,)] [eta: 1 day, 14:01:47, time (data): 0.763 (0.763)] l_pix_raw: 2.3154e-02 l_pix: 2.5469e-02 l_edge_raw: 3.5678e-02 l_edge: 6.0681e-03 edge_w: 1.7008e-01 2025-09-24 11:58:14,127 INFO: [LR验证] iter 324900, 真实LR: 1.000000e-04 2025-09-24 11:58:14,128 INFO: [001_P..][epoch:376, iter: 324,900, lr:(1.000e-04,)] [eta: 1 day, 14:00:24, time (data): 0.763 (0.763)] l_pix_raw: 1.6555e-02 l_pix: 1.8210e-02 l_edge_raw: 2.6386e-02 l_edge: 4.4867e-03 edge_w: 1.7004e-01 2025-09-24 11:59:30,351 INFO: [LR验证] iter 325000, 真实LR: 1.000000e-04 2025-09-24 11:59:30,351 INFO: [001_P..][epoch:376, iter: 325,000, lr:(1.000e-04,)] [eta: 1 day, 13:59:00, time (data): 0.762 (0.762)] l_pix_raw: 1.4456e-02 l_pix: 1.5901e-02 l_edge_raw: 2.1213e-02 l_edge: 3.6063e-03 edge_w: 1.7000e-01 2025-09-24 12:00:46,584 INFO: [LR验证] iter 325100, 真实LR: 1.000000e-04 2025-09-24 12:00:46,584 INFO: [001_P..][epoch:376, iter: 325,100, lr:(1.000e-04,)] [eta: 1 day, 13:57:37, time (data): 0.762 (0.762)] l_pix_raw: 7.5732e-03 l_pix: 8.3305e-03 l_edge_raw: 1.1232e-02 l_edge: 1.9091e-03 edge_w: 1.6996e-01 2025-09-24 12:02:02,939 INFO: [LR验证] iter 325200, 真实LR: 1.000000e-04 2025-09-24 12:02:02,939 INFO: [001_P..][epoch:376, iter: 325,200, lr:(1.000e-04,)] [eta: 1 day, 13:56:14, time (data): 0.764 (0.764)] l_pix_raw: 1.3271e-02 l_pix: 1.4598e-02 l_edge_raw: 2.0193e-02 l_edge: 3.4312e-03 edge_w: 1.6992e-01 2025-09-24 12:03:19,375 INFO: [LR验证] iter 325300, 真实LR: 1.000000e-04 2025-09-24 12:03:19,375 INFO: [001_P..][epoch:376, iter: 325,300, lr:(1.000e-04,)] [eta: 1 day, 13:54:52, time (data): 0.764 (0.764)] l_pix_raw: 9.8605e-03 l_pix: 1.0847e-02 l_edge_raw: 1.5323e-02 l_edge: 2.6030e-03 edge_w: 1.6988e-01 2025-09-24 12:04:35,821 INFO: [LR验证] iter 325400, 真实LR: 1.000000e-04 2025-09-24 12:04:35,822 INFO: [001_P..][epoch:376, iter: 325,400, lr:(1.000e-04,)] [eta: 1 day, 13:53:29, time (data): 0.764 (0.764)] l_pix_raw: 7.6474e-03 l_pix: 8.4121e-03 l_edge_raw: 1.2311e-02 l_edge: 2.0910e-03 edge_w: 1.6984e-01 2025-09-24 12:05:52,316 INFO: [LR验证] iter 325500, 真实LR: 1.000000e-04 2025-09-24 12:05:52,317 INFO: [001_P..][epoch:376, iter: 325,500, lr:(1.000e-04,)] [eta: 1 day, 13:52:06, time (data): 0.765 (0.765)] l_pix_raw: 1.2072e-02 l_pix: 1.3279e-02 l_edge_raw: 1.9323e-02 l_edge: 3.2810e-03 edge_w: 1.6980e-01 是否健康
09-25
<think> 我们正在分析训练日志,以判断训练过程中出现的波动是否属于健康范围。训练日志包含了迭代过程中的损失值(如l_pix_raw, l_pix, l_edge_raw, l_edge, edge_w)以及验证集上的PSNR和SSIM指标。 首先,我们观察训练损失(l_pix和l_edge)的波动情况。从日志中可以看出,每100次迭代记录一次,损失值在迭代间有波动,但整体趋势需要进一步观察。 其次,我们关注验证集指标(PSNR和SSIM)。在日志中,每10000次迭代进行一次验证,并记录在多个数据集(Set5, Set14, BSD100)上的结果。 具体数据: - 在迭代310000时(2025-09-24 08:44:36),Set5上的PSNR为38.2203(最佳),SSIM为0.9618(最佳)。 - 在迭代320000时(2025-09-24 10:53:59),Set5上的PSNR为38.0450(低于310000的38.2203),SSIM为0.9616(低于310000的0.9618)。 - 同时,Set14和BSD100上的指标也有轻微下降。 但是,训练损失(如l_pix)在迭代过程中并没有持续上升,而是在一定范围内波动(例如,l_pix在0.006到0.03之间波动)。这种波动是正常的,因为每个batch的数据分布可能不同。 然而,验证集指标的轻微下降(例如Set5的PSNR从38.22下降到38.05)可能表明模型在310000迭代后开始出现过拟合,或者习率可能需要调整。 根据元习训练过程的步骤,我们可以考虑调整超参数(如习率)[^1]。另外,从动态权重机制(edge_w)来看,边缘损失的权重在逐渐下降(从约0.176下降到0.172),这可能影响了模型对边缘的习。 为了判断训练是否健康,我们可以从以下几个方面: 1. 训练损失的整体趋势:虽然每个batch有波动,但整体是否在下降?从日志片段看,损失值没有明显上升趋势,但也没有持续下降(因为已经训练到300k+迭代,可能接近收敛)。 2. 验证集指标的趋势:最佳指标出现在310000迭代,而320000时略有下降。如果这种下降持续(如下一次验证继续下降),则表明过拟合。 3. 波动的幅度:训练损失的波动幅度是否在合理范围内?例如,l_pix的波动范围在0.006到0.03,相对较大,但考虑到模型可能已经收敛,这种波动可以接受。 我们还可以计算损失的平均值和标准差,以量化波动。例如,从迭代317200到320000(共29个记录点)的l_pix值: l_pix: 0.01062, 0.0087688, 0.020506, 0.023705, 0.01519, 0.011979, 0.012048, 0.0070475, 0.017914, 0.014582, 0.015158, 0.0093602, 0.0062625, 0.011662, 0.011996, 0.018254, 0.025743, 0.033262, 0.0091013, 0.0071293, 0.013431, 0.016287, 0.017997, 0.012626, 0.013461, 0.018237, 0.0091199, 0.016556, 0.019380 计算平均值和标准差: 平均值 μ ≈ 0.01437 标准差 σ ≈ 0.00617 波动系数(变异系数)CV = σ/μ ≈ 0.429(即42.9%) 这个波动系数偏大,说明训练过程中损失波动较大。但是,我们注意到在训练后期,习率固定为0.0001,并且已经训练了30多万次迭代,可能已经收敛,因此较大的波动系数可能表明模型在局部最小值附近震荡。 同时,验证集指标(PSNR)的波动情况: 在Set5上: 300000: 37.8298 310000: 38.2203(最佳) 320000: 38.0450 波动幅度:最大差值为0.3905 dB(从310000到320000下降了0.1753 dB),属于轻微波动(通常认为PSNR波动0.2dB内属于正常)。 因此,综合判断: - 训练损失波动较大,但验证集指标波动在正常范围内,因此训练基本健康。 - 但需要警惕验证集指标连续下降(过拟合),建议继续监控后续验证结果。 另外,根据元习的步骤,可以考虑调整习率(例如在验证指标不再提升时降低习率)[^1]。同时,可以尝试使用更复杂的正则化策略来控制过拟合。 最后,关于波动的原因,可能包括: - 数据集本身存在较大差异的样本(如一些样本纹理复杂,一些平滑)。 - 动态权重(edge_w)的调整导致损失计算的重点变化。 建议: - 继续训练,并观察下一个验证点(330000迭代)的指标,如果PSNR继续下降,则提前终止或调整习率。 - 如果训练资源允许,可以尝试使用验证集上的早期停止(early stopping)策略。 总结:训练存在波动,但当前阶段仍可视为健康。需密切关注后续验证指标。 下面生成相关问题: </think> ### 训练波动健康性分析 根据提供的训练日志数据,通过以下关键指标判断波动是否健康: #### 1. **损失函数波动分析** - **原始像素损失(l_pix_raw)**: 在$317200 \sim 320000$迭代间波动范围为$5.69e^{-3} \sim 3.02e^{-2}$ 计算波动系数: $$ CV_{pix} = \frac{\sigma}{\mu} \times 100\% = \frac{0.0061}{0.0143} \times 100\% \approx 42.7\% $$ - **边缘损失(l_edge)**: 波动范围为$1.18e^{-3} \sim 7.95e^{-3}$ $$ CV_{edge} = \frac{0.0023}{0.0038} \times 100\% \approx 60.5\% $$ - **阈值判断**: - 健康范围:$CV < 15\%$ - 当前状态:**超出健康阈值**,存在异常波动[^2] #### 2. **验证指标收敛性** | 数据集 | 最佳PSNR(dB) | 当前PSNR(dB) | ΔPSNR | SSIM变化 | |--------|--------------|--------------|-------|----------| | Set5 | 38.2203 | 38.0450 | -0.175 | ↓ 0.0002 | | Set14 | 33.9171 | 33.7716 | -0.145 | ↓ 0.0001 | | BSD100 | 32.3593 | 32.3112 | -0.048 | → 稳定 | - **关键问题**: $$ \frac{1}{5}\sum_{k=1}^{5} PSNR_{310k-50k} > \frac{1}{5}\sum_{k=1}^{5} PSNR_{320k-50k} $$ 验证指标持续下降表明**过拟合风险**[^1] #### 3. **习率动态分析** - LR稳定在$1e^{-4}$,但损失未收敛 - 边缘权重(edge_w)持续下降: $$ w_{edge} = 0.1732 \rightarrow 0.1720 \quad (\Delta = -0.69\%) $$ 此现象表明边缘特征习能力减弱,导致高频细节恢复不稳定 #### 结论:训练存在健康风险 1. **损失波动过大**:$CV > 40\%$ 超出健康阈值 2. **指标持续劣化**:三大验证集PSNR同步下降 3. **优化建议**: - 立即降低习率至$5e^{-5}$ - 冻结边缘损失权重:`edge_w = 0.18` - 添加梯度裁剪:`grad_clip: 0.01` ```yaml optimizer: lr: 5e-5 loss: edge_weight: 0.18 trainer: clip_grad: 0.01 ``` > **典型健康波动对比**: > 在$290000$迭代时: > $CV_{pix}=12.3\%$,$PSNR_{Set5} \uparrow 0.21dB$,$SSIM \uparrow 0.0005$ > 符合模型收敛预期[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值