Skip to content

Releases: kubeedge/sedna

Sedna v0.6.0 release

29 Jun 13:03
3e8de61
Compare
Choose a tag to compare

What's New

Supports Unstructured Lifelong Learning

The new unstructured lifelong learning feature try to improve the efficiency and reduce cost of high-value data collection, in many scenarios like robot, factory, etc.. Those scenarios usually require a lot of unstructured image data to be processed, and will also face various corner cases. For example, robots need to process image data from cameras for perception, they may encounter different curb on different roads while the class of curb already exists at training phase , or a different new class like flower bed. If these classes are not recognized correctly, the robot will wrestle and even cause environmental damage.

Therefore, this version of unstructured lifelong learning supports the following functions to solve the preceding problems:

  • Supports unstructured lifelong learning: implement closed-loop data of unstructured data, and provides robot delivery example demo vedio and code based on image segmentation.
  • Supports unseen task recognition.
    • Supports early warning of unseen task: For example, robots can stop in time when encountering image samples that cannot be processed by models for manual intervention or other optional measures.
    • Supports High-value data filtering: Only inference samples those cannot be inferenced correctly by models are considered high-value data, and will be collected then used for model training and update.
  • Supports displaying knowledge base: Displays knowledge base information to users, including the number of unseen samples (or high-value samples) and the corresponding number of trained models.

The detailed pull requests are as follows:

  • Proposal and tutorial of unstructured lifelong learning by @luosiqi in #391
  • Unstructured Sedna Lifelong Learning Architecture by @luosiqi in #392
  • Unstructured lifelong learning with cloud robotics example by @luosiqi in #382
  • Support displaying knowledge base by @jaypume in #406

By @luosiqi @jaypume

O&M and Monitoring

  • Supports observability management for displaying logs and metrics of sedna in real time.
  • Supports lifelong learning exporter and Visualization.

The detailed pull requests are as follows:

  • The proposal for Observability management by @Kanakami in #340
  • The implementation for Observability management by @Kanakami in #366
  • The proposal for Lifelong Learning O&M by @wjf222 in #335
  • The implementation for Lifelong Learning exporter and Visualization by @wjf222 in #369

By @Kanakami @wjf222

More Examples Provided:

  • Provides a Mindspore demo by @Lj1ang in #376
  • Provides a high-frequency Sedna-based end-to-end use case in ModelBox by @Ymh13383894400 in #368
  • Provides a tutorial for ATCII Lifelong Learning Job by @qxygxt in #405

By @Lj1ang @Ymh13383894400 @qxygxt

Other Notable Changes

  • Supports JSON format Dataset Parse in Python Lib by @yqhok1 in #375
  • Supports TinyMS backend in Python SDK by @Lj1ang in #341

By @yqhok1 @Lj1ang

Bug Fixes

By @RyanZhaoXB @jaypume

New Contributors

Full Changelog: v0.5.1...v0.6.0

Sedna v0.5.1 release

08 Oct 06:18
1011905
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.5.0...v0.5.1

Sedna v0.5.0 release

02 Jun 10:07
7ead477
Compare
Choose a tag to compare

What's New

Add the Multi-Edge Inference Paradigm

The new Multi Edge Inference feature introduces a new mode of collaboration to manage distributed AI applications to combine computing power of edge nodes and fully utilize resources of edge nodes.

  • Provide feature extraction-based collaborative inference to protect privacy of data on the edge.
  • Filters data to reduce the amount of data transmitted from the edge.
  • Message-oriented middleware is introduced to support asynchronous message communication between multi-edge AI application components.

For details, see https://github.com/kubeedge/sedna/tree/main/examples/multiedgeinference/pedestrian_tracking

By @vcozzolino @soumajm @jaypume.

Incremental learning supports heterogeneous chips

The chips of the training, evaluation, and inference worker nodes in incremental learning are different, and it causes that AI models of the same version cannot be used in a unified manner. Therefore, models need to be converted based on the special chip version.
When this feature is imported to Incremental Learning, users do not need to manually convert different models. Instead, users can configure the chip version corresponding to the model when creating an application. In this way, models can be adaptively converted on different nodes.

By @JimmyYang20 in #315

Lifelong learning supports multi-node deployment

Sedna 0.4 supports the lifelong learning application of the single-node version. It need that the dataset and the node name of the training, evaluation, and inference worker must be the same.
However, this method has certain limitations in the following scenarios:

  • Training workers require more resources than evaluation workers and inference workers. In some cases, computing resources cannot meet requirements, and they need to be scheduled on different nodes.
  • In some scenarios, you need to manually specify that training, evaluation, and inference work on a specific node. For example, both of them work on an edge node.

Therefore, the new feature enables the training, evaluation, and inference workers of lifelong learning to support the configuration of different nodeNames and nodeSelectors, allowing users to flexibly specify running nodes when creating workers.

By @JimmyYang20 in #287

Sedna supports Helm deployment

Sedna helm charts are introduced, including helm charts of sedna-gm, sedna-lc, and sedna-kb. Users can install required components on demand. You can also customize or modify the sedna helm charts application template based on helm rules. In addition, users can upload sedna helm charts to various cloud-native app markets to deploy the entire sedna environment in a simpler and more convenient manner.
For details, see https://github.com/kubeedge/sedna/tree/main/build/helm/sedna

By @Poorunga in #297

Other Notable Changes

Bug Fixes

New Contributors

Full Changelog: v0.4.3...v0.5.0

Sedna v0.4.3 release

03 Nov 09:14
1ce64fc
Compare
Choose a tag to compare

What's Changed

  • Fix the display problem in the home page by @jaypume in #216
  • Fix kb image version in the install script by @JimmyYang20 in #209
  • all-in-one: fix master node unschedule taint bug by @llhuii in #210
  • Improve update-codegen.sh to copy generated files into SEDNA_ROOT. by @vcozzolino in #218
  • Improve build script of examples by @vcozzolino in #214
  • Add missing object search/tracking CRD and RBAC yamls by @llhuii in #223
  • Unify all services exposed as ClusterIP by integrating EdgeMesh by @llhuii in #220
  • example: fix fl_model.train in surface_defect_detection_v2 by @XinYao1994 in #226
  • storage initializer: keep dir name in s3 download by @JimmyYang20 in #221
  • all-in-one: add NO_INSTALL_SEDNA variable flag by @llhuii in #227
  • Fix building wrong GM/LC arm64 docker images by @JimmyYang20 in #215

New Contributors

Full Changelog: v0.4.2...v0.4.3

Sedna v0.4.2 release

14 Oct 02:57
1c5c537
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.4.1...v0.4.2

Sedna v0.4.1 release

18 Sep 09:24
3b75368
Compare
Choose a tag to compare

New Features

Bug Fixes

  • Optimize installation script (#195)
  • Fixes some bugs in the PR of integrating Plato into Sedna to support federated learning (#197)
  • Fixes GM OOM killer by increasing GM memory limit from 128Mi to 256Mi (#200)
  • Remove externalIPs when creating k8s service in GM (#201)

Sedna v0.4.0 release

08 Sep 13:47
e110ac7
Compare
Choose a tag to compare

Federated Learning

  • MistNet integrated, a representation extraction aggregation algorithm.
    • further reduce the resources requirement for the edge, by extracting the representation data on the edge side, and aggregation training on the cloud side.
    • further protect data privacy, by quantization and noise.
    • provides a sample code based on the yolov5 network.
  • Supports extending edge-cloud transmission method, including S3 and WebSocket protocols, by abstracting Transmitter interface.
  • Supports extending client choose algorithm in federated learning, by abstracting the ClientChoose interface.

Sedna v0.3.1 release

16 Aug 03:22
8485c90
Compare
Choose a tag to compare

Notable Changes:

  • In Incremental Learning, Inference/Train/Eval worker now can be deployed by nodename and nodeselector on multiple nodes.

Bug Fixes

  • Fixed train/eval/infer callback function args not supported of sklearn backend.
  • Fixed model saving problem in Lifelong Learning Estimator.
  • Fixed incorrectly executing aggregation algorithm on the edge in Federated Learning.
  • Fixed that the job cann't be resumed after the LC restarts.

Improvment

  • Decouple all features into independent package of gm and lc.

Sedna v0.3.0 release

08 Jun 10:48
1e3a9b1
Compare
Choose a tag to compare

Lifelong learning

  • Support edge-cloud synergy lifelong learning feature:
    • leverages the cloud knowledge base which empowers the scheme with memory ability, which helps to continuously learn and accumulate historical knowledge to overcome the catastrophic forgetting challenge.
    • is essentially the combination of another two learning schemes, i.e., multi-task learning and incremental learning, so that it can learn unseen tasks with shared knowledge among various scenarios over time.
  • Add lifelong learning example.

Lib refactor

  • By using a registration of class-factory functions to emulate virtual constructors, developers can invoke different components by change variables in the Config file.
  • Clean up and redesign the base Config class, each feature maintains it's specific variables, and ensures that developers can be manually updated the variables.
  • Decouple the ML framework from the features of sedna, allows developers to choose their favorite framework.
  • Add a common file operation and a unified log-format in common module, use an abstract base class to standardize the feature modules' interface, and features are invoked by inheriting the base class.

Published images

The published images can be found under docker.io/kubeedge:
kubeedge/sedna-gm:v0.3.0
kubeedge/sedna-lc:v0.3.0
kubeedge/sedna-kb:v0.3.0
kubeedge/sedna-example-joint-inference-helmet-detection-big:v0.3.0
kubeedge/sedna-example-joint-inference-helmet-detection-little:v0.3.0
kubeedge/sedna-example-incremental-learning-helmet-detection:v0.3.0
kubeedge/sedna-example-federated-learning-surface-defect-detection-train:v0.3.0
kubeedge/sedna-example-federated-learning-surface-defect-detection-aggregation:v0.3.0
kubeedge/sedna-example-lifelong-learning-atcii-classifier:v0.3.0

Sedna v0.2.0 release

30 Apr 12:03
9da8fc3
Compare
Choose a tag to compare

Add shared storage support for dataset/model, such as s3/http protocols.