Guide: Sound Classification on Huawei Cloud ModelArts
using ESC-10 Dataset
This guide helps you download, organize, and train a sound classification model using the
ESC-10 dataset on Huawei Cloud ModelArts via the ExML (Experiential Machine Learning)
interface. ESC-10 is a small, well-known environmental sound dataset, ideal for quick
training and experimentation.
2. Download and Prepare ESC-10 Dataset in Notebook
Run the following code on notebook:
# Step 1: Download the ESC-50 dataset (ESC-10 is a subset)
wget [Link]
# Step 2: Unzip the dataset
unzip [Link]
Now run this code to extract only the ESC-10 subset and organize it into labeled folders:
import pandas as pd
import os
import shutil
# Load metadata
meta = pd.read_csv('ESC-50-master/meta/[Link]')
# Filter ESC-10 entries
esc10 = meta[meta['esc10'] == True]
# Create output folder
[Link]('esc10_dataset', exist_ok=True)
# Organize into labeled folders
for _, row in [Link]():
label = row['category']
src_path = f"ESC-50-master/audio/{row['filename']}"
dst_folder = f"esc10_dataset/{label}"
[Link](dst_folder, exist_ok=True)
[Link](src_path, dst_folder)
3. Zip the Dataset
Use the following command to zip the dataset for download or upload to OBS:
Moxing as mox
6. Train Sound Classification Model in ExML
Now go to ModelArts > Experiential ML (ExML) and follow these steps:
1. Click on “Create Project” → Select “Sound Classification”.
2. Choose “Custom Dataset” and select the OBS path: obs://your-bucket-
name/esc10_dataset/
3. Set training/validation split (e.g., 80/20).
4. Click “Next” → Choose model type and training configuration.
5. Start training and monitor accuracy/loss.
7. Deploy the Model (Optional)
After training, deploy the model with one click and get a REST API endpoint to test real
audio files.