# Using Incremental Learning Job in Helmet Detection Scenario on S3 This example is based on the example: [Using Incremental Learning Job in Helmet Detection Scenario](/examples/incremental_learning/helmet_detection/README.md). ### Prepare Nodes Assume you have created a [KubeEdge](https://github.com/kubeedge/kubeedge) cluster that have two cloud nodes(e.g., `cloud-node1`, `cloud-node2`) and one edge node(e.g., `edge-node`). ### Create a secret with your S3 user credential. ```shell kubectl create -f - <" threshold: 500 metric: num_of_samples evalSpec: template: spec: nodeName: cloud-node2 containers: - image: $IMAGE name: eval-worker imagePullPolicy: IfNotPresent args: ["eval.py"] env: - name: "input_shape" value: "352,640" - name: "class_names" value: "person,helmet,helmet-on,helmet-off" deploySpec: model: name: "deploy-model" trigger: condition: operator: ">" threshold: 0.1 metric: precision_delta hardExampleMining: name: "IBT" parameters: - key: "threshold_img" value: "0.9" - key: "threshold_box" value: "0.9" template: spec: nodeName: edge-node containers: - image: $IMAGE name: infer-worker imagePullPolicy: IfNotPresent args: ["inference.py"] env: - name: "input_shape" value: "352,640" - name: "video_url" value: "file://video/video.mp4" - name: "HE_SAVED_URL" value: "/he_saved_url" volumeMounts: - name: localvideo mountPath: /video/ - name: hedir mountPath: /he_saved_url resources: # user defined resources limits: memory: 2Gi volumes: # user defined volumes - name: localvideo hostPath: path: /incremental_learning/video/ type: DirectoryOrCreate - name: hedir hostPath: path: /incremental_learning/he/ type: DirectoryOrCreate credentialName: mysecret outputDir: "s3://kubeedge/incremental_learning/output" EOF ```