Skip to content

Commit

Permalink
Merge pull request #35 from jensenliang-w/opensource-v2.4.0
Browse files Browse the repository at this point in the history
v2.4.0版本更新发布
  • Loading branch information
tianmian001 authored Nov 22, 2023
2 parents 2539fea + f3a2998 commit c9c3e4a
Show file tree
Hide file tree
Showing 3,453 changed files with 324,507 additions and 123,061 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 6 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ gen
.settings/
.classpath
.vscode/
**/sdk.zip
.factorypath

# 排除编译输出
*.class
target/
Expand Down Expand Up @@ -44,5 +44,8 @@ build/
*.properties
venv/
/docker/
**/assembly/
/assembly/

# 排除环境配置文件
.env.local
/.env.local
.env.*.local
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,16 @@ WeFe ( WeLab Federated Learning ) 是 Welab 汇立集团子公司[天冕](https:
`Documentation:` https://tianmiantech.github.io/WeFe/ or http://tianmiantech.gitee.io/wefe


## 在线体验

WeFe 不仅支持本地部署运行测试,并且提供了一套完整的线上体验环境;

用户可以通过线上体验环境,模拟联邦中三位成员间的建模操作;

体验环境的联邦成员角色有 DemoMember1、DemoMember2、DemoMember3;

详情访问[在线体验平台](https://tianmiantech.com/federal)体验。

# 项目特点

混合联邦,纵向联邦学习与横向联邦学习结合的行业解决方案;
Expand Down Expand Up @@ -49,16 +59,6 @@ WeFe 提供了一套完整的在线体验环境 Demo ENV。

单机部署,详见 [release/docker/README.md](./release/docker)

## 在线体验

WeFe 不仅支持本地部署运行测试,并且提供了一套完整的线上体验环境;

用户可以通过线上体验环境,模拟联邦中三位成员间的建模操作;

体验环境的联邦成员角色有 DemoMember1、DemoMember2、DemoMember3;

详情访问[在线体验平台](https://tianmiantech.com/federal)体验。

# 系统架构

WeFe 系统由两大模块 union 与 member 组成;
Expand Down
13 changes: 13 additions & 0 deletions VisualFL/config.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

# The configuration for business database mysql
# mysql is used to save modeling processes, modeling information, member information, and more
# ************************************************
db.mysql.url=jdbc:mysql://127.0.0.1:3306/wefe_board?serverTimezone=GMT%2B8
db.mysql.host=127.0.0.1
db.mysql.port=3306
db.mysql.database=wefe_board
db.mysql.username=xxx
db.mysql.password=xxxxxxx
is_local=false
# ************************************************

42 changes: 42 additions & 0 deletions VisualFL/data/coco/download_coco.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Copyright 2021 Tianmian Tech. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import sys
import os.path as osp
import logging
# add python path of PadleDetection to sys.path
parent_path = osp.abspath(osp.join(__file__, *(['..'] * 3)))
if parent_path not in sys.path:
sys.path.append(parent_path)

from ppdet.utils.download import download_dataset

logging.basicConfig(level=logging.INFO)

download_path = osp.split(osp.realpath(sys.argv[0]))[0]
download_dataset(download_path, 'coco')
31 changes: 31 additions & 0 deletions VisualFL/data/fddb/download.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# All rights `PaddleDetection` reserved
# References:
# @TechReport{fddbTech,
# author = {Vidit Jain and Erik Learned-Miller},
# title = {FDDB: A Benchmark for Face Detection in Unconstrained Settings},
# institution = {University of Massachusetts, Amherst},
# year = {2010},
# number = {UM-CS-2010-009}
# }

DIR="$( cd "$(dirname "$0")" ; pwd -P )"
cd "$DIR"

# Download the data.
echo "Downloading..."
# external link to the Faces in the Wild data set and annotations file
wget http://tamaraberg.com/faceDataset/originalPics.tar.gz
wget http://vis-www.cs.umass.edu/fddb/FDDB-folds.tgz
wget http://vis-www.cs.umass.edu/fddb/evaluation.tgz

# Extract the data.
echo "Extracting..."
tar -zxf originalPics.tar.gz
tar -zxf FDDB-folds.tgz
tar -zxf evaluation.tgz

# Generate full image path list and groundtruth in FDDB-folds:
cd FDDB-folds
cat `ls|grep -v"ellipse"` > filePath.txt && cat *ellipse* > fddb_annotFile.txt
cd ..
echo "------------- All done! --------------"
42 changes: 42 additions & 0 deletions VisualFL/data/fruit/download_fruit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Copyright 2021 Tianmian Tech. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import sys
import os.path as osp
import logging
# add python path of PadleDetection to sys.path
parent_path = osp.abspath(osp.join(__file__, *(['..'] * 3)))
if parent_path not in sys.path:
sys.path.append(parent_path)

from ppdet.utils.download import download_dataset

logging.basicConfig(level=logging.INFO)

download_path = osp.split(osp.realpath(sys.argv[0]))[0]
download_dataset(download_path, 'fruit')
3 changes: 3 additions & 0 deletions VisualFL/data/fruit/label_list.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
apple
banana
orange
42 changes: 42 additions & 0 deletions VisualFL/data/roadsign_voc/download_roadsign_voc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Copyright 2021 Tianmian Tech. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import sys
import os.path as osp
import logging
# add python path of PadleDetection to sys.path
parent_path = osp.abspath(osp.join(__file__, *(['..'] * 3)))
if parent_path not in sys.path:
sys.path.append(parent_path)

from ppdet.utils.download import download_dataset

logging.basicConfig(level=logging.INFO)

download_path = osp.split(osp.realpath(sys.argv[0]))[0]
download_dataset(download_path, 'roadsign_voc')
4 changes: 4 additions & 0 deletions VisualFL/data/roadsign_voc/label_list.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
speedlimit
crosswalk
trafficlight
stop
59 changes: 59 additions & 0 deletions VisualFL/data/voc/create_list.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Copyright 2021 Tianmian Tech. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import sys
import os.path as osp
import logging
import argparse

# add python path of PadleDetection to sys.path
parent_path = osp.abspath(osp.join(__file__, *(['..'] * 3)))
if parent_path not in sys.path:
sys.path.append(parent_path)

from ppdet.utils.download import create_voc_list
logging.basicConfig(level=logging.INFO)


def main(config):
voc_path = config.dataset_dir
create_voc_list(voc_path)


if __name__ == '__main__':
parser = argparse.ArgumentParser()
default_voc_path = osp.split(osp.realpath(sys.argv[0]))[0]
parser.add_argument(
"-d",
"--dataset_dir",
default=default_voc_path,
type=str,
help="VOC dataset directory, default is current directory.")
config = parser.parse_args()

main(config)
43 changes: 43 additions & 0 deletions VisualFL/data/voc/download_voc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Copyright 2021 Tianmian Tech. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import sys
import os.path as osp
import logging
# add python path of PadleDetection to sys.path
parent_path = osp.abspath(osp.join(__file__, *(['..'] * 3)))
if parent_path not in sys.path:
sys.path.append(parent_path)

from ppdet.utils.download import download_dataset, create_voc_list

logging.basicConfig(level=logging.INFO)

download_path = osp.split(osp.realpath(sys.argv[0]))[0]
download_dataset(download_path, 'voc')
create_voc_list(download_path)
Loading

0 comments on commit c9c3e4a

Please sign in to comment.