diff --git a/federated_learning/GenerateTestdata.sh b/federated_learning/GenerateTestdata.sh new file mode 100644 index 0000000..7b93822 --- /dev/null +++ b/federated_learning/GenerateTestdata.sh @@ -0,0 +1,16 @@ +# 创建测试目录结构 +mkdir -p ./test_data/{client1,client2}/{train,val}/images +mkdir -p ./test_data/{client1,client2}/{train,val}/labels + +# 生成虚拟数据(各客户端仅需2张图片) +for client in client1 client2; do + for split in train val; do + # 创建空图片(128x128 RGB) + magick -size 128x128 xc:white test_data/${client}/${split}/images/img1.jpg + magick -size 128x128 xc:black test_data/${client}/${split}/images/img2.jpg + + # 创建示例标签文件 + echo "0 0.5 0.5 0.2 0.2" > test_data/${client}/${split}/labels/img1.txt + echo "1 0.3 0.3 0.4 0.4" > test_data/${client}/${split}/labels/img2.txt + done +done \ No newline at end of file diff --git a/federated_learning/config/client1_data.yaml b/federated_learning/config/client1_data.yaml new file mode 100644 index 0000000..9991ea2 --- /dev/null +++ b/federated_learning/config/client1_data.yaml @@ -0,0 +1,4 @@ +train: ../test_data/client1/train/images +val: ../test_data/client1/val/images +nc: 2 +names: [ 'class0', 'class1' ] \ No newline at end of file diff --git a/federated_learning/config/client2_data.yaml b/federated_learning/config/client2_data.yaml new file mode 100644 index 0000000..a78fd17 --- /dev/null +++ b/federated_learning/config/client2_data.yaml @@ -0,0 +1,4 @@ +train: ../test_data/client2/train/images +val: ../test_data/client2/val/images +nc: 2 +names: [ 'class0', 'class1' ] \ No newline at end of file diff --git a/federated_learning/test_data/client1/train/images/img1.jpg b/federated_learning/test_data/client1/train/images/img1.jpg new file mode 100644 index 0000000..f2990a5 Binary files /dev/null and b/federated_learning/test_data/client1/train/images/img1.jpg differ diff --git a/federated_learning/test_data/client1/train/images/img2.jpg b/federated_learning/test_data/client1/train/images/img2.jpg new file mode 100644 index 0000000..1c8ea8f Binary files /dev/null and b/federated_learning/test_data/client1/train/images/img2.jpg differ diff --git a/federated_learning/test_data/client1/train/labels.cache b/federated_learning/test_data/client1/train/labels.cache new file mode 100644 index 0000000..dfb4988 Binary files /dev/null and b/federated_learning/test_data/client1/train/labels.cache differ diff --git a/federated_learning/test_data/client1/train/labels/img1.txt b/federated_learning/test_data/client1/train/labels/img1.txt new file mode 100644 index 0000000..2aff1e2 --- /dev/null +++ b/federated_learning/test_data/client1/train/labels/img1.txt @@ -0,0 +1 @@ +0 0.5 0.5 0.2 0.2 diff --git a/federated_learning/test_data/client1/train/labels/img2.txt b/federated_learning/test_data/client1/train/labels/img2.txt new file mode 100644 index 0000000..e82ecae --- /dev/null +++ b/federated_learning/test_data/client1/train/labels/img2.txt @@ -0,0 +1 @@ +1 0.3 0.3 0.4 0.4 diff --git a/federated_learning/test_data/client1/val/images/img1.jpg b/federated_learning/test_data/client1/val/images/img1.jpg new file mode 100644 index 0000000..f2990a5 Binary files /dev/null and b/federated_learning/test_data/client1/val/images/img1.jpg differ diff --git a/federated_learning/test_data/client1/val/images/img2.jpg b/federated_learning/test_data/client1/val/images/img2.jpg new file mode 100644 index 0000000..1c8ea8f Binary files /dev/null and b/federated_learning/test_data/client1/val/images/img2.jpg differ diff --git a/federated_learning/test_data/client1/val/labels.cache b/federated_learning/test_data/client1/val/labels.cache new file mode 100644 index 0000000..ac3aea5 Binary files /dev/null and b/federated_learning/test_data/client1/val/labels.cache differ diff --git a/federated_learning/test_data/client1/val/labels/img1.txt b/federated_learning/test_data/client1/val/labels/img1.txt new file mode 100644 index 0000000..2aff1e2 --- /dev/null +++ b/federated_learning/test_data/client1/val/labels/img1.txt @@ -0,0 +1 @@ +0 0.5 0.5 0.2 0.2 diff --git a/federated_learning/test_data/client1/val/labels/img2.txt b/federated_learning/test_data/client1/val/labels/img2.txt new file mode 100644 index 0000000..e82ecae --- /dev/null +++ b/federated_learning/test_data/client1/val/labels/img2.txt @@ -0,0 +1 @@ +1 0.3 0.3 0.4 0.4 diff --git a/federated_learning/test_data/client2/train/images/img1.jpg b/federated_learning/test_data/client2/train/images/img1.jpg new file mode 100644 index 0000000..f2990a5 Binary files /dev/null and b/federated_learning/test_data/client2/train/images/img1.jpg differ diff --git a/federated_learning/test_data/client2/train/images/img2.jpg b/federated_learning/test_data/client2/train/images/img2.jpg new file mode 100644 index 0000000..1c8ea8f Binary files /dev/null and b/federated_learning/test_data/client2/train/images/img2.jpg differ diff --git a/federated_learning/test_data/client2/train/labels.cache b/federated_learning/test_data/client2/train/labels.cache new file mode 100644 index 0000000..1b56cb1 Binary files /dev/null and b/federated_learning/test_data/client2/train/labels.cache differ diff --git a/federated_learning/test_data/client2/train/labels/img1.txt b/federated_learning/test_data/client2/train/labels/img1.txt new file mode 100644 index 0000000..2aff1e2 --- /dev/null +++ b/federated_learning/test_data/client2/train/labels/img1.txt @@ -0,0 +1 @@ +0 0.5 0.5 0.2 0.2 diff --git a/federated_learning/test_data/client2/train/labels/img2.txt b/federated_learning/test_data/client2/train/labels/img2.txt new file mode 100644 index 0000000..e82ecae --- /dev/null +++ b/federated_learning/test_data/client2/train/labels/img2.txt @@ -0,0 +1 @@ +1 0.3 0.3 0.4 0.4 diff --git a/federated_learning/test_data/client2/val/images/img1.jpg b/federated_learning/test_data/client2/val/images/img1.jpg new file mode 100644 index 0000000..f2990a5 Binary files /dev/null and b/federated_learning/test_data/client2/val/images/img1.jpg differ diff --git a/federated_learning/test_data/client2/val/images/img2.jpg b/federated_learning/test_data/client2/val/images/img2.jpg new file mode 100644 index 0000000..1c8ea8f Binary files /dev/null and b/federated_learning/test_data/client2/val/images/img2.jpg differ diff --git a/federated_learning/test_data/client2/val/labels.cache b/federated_learning/test_data/client2/val/labels.cache new file mode 100644 index 0000000..c20be88 Binary files /dev/null and b/federated_learning/test_data/client2/val/labels.cache differ diff --git a/federated_learning/test_data/client2/val/labels/img1.txt b/federated_learning/test_data/client2/val/labels/img1.txt new file mode 100644 index 0000000..2aff1e2 --- /dev/null +++ b/federated_learning/test_data/client2/val/labels/img1.txt @@ -0,0 +1 @@ +0 0.5 0.5 0.2 0.2 diff --git a/federated_learning/test_data/client2/val/labels/img2.txt b/federated_learning/test_data/client2/val/labels/img2.txt new file mode 100644 index 0000000..e82ecae --- /dev/null +++ b/federated_learning/test_data/client2/val/labels/img2.txt @@ -0,0 +1 @@ +1 0.3 0.3 0.4 0.4 diff --git a/federated_learning/yolo11n.pt b/federated_learning/yolo11n.pt new file mode 100644 index 0000000..45b273b Binary files /dev/null and b/federated_learning/yolo11n.pt differ diff --git a/federated_learning/yolov8n.pt b/federated_learning/yolov8n.pt new file mode 100644 index 0000000..0db4ca4 Binary files /dev/null and b/federated_learning/yolov8n.pt differ