¿Cuáles son las precauciones para cambiar los trabajos de entrenamiento de la versión antigua a la nueva?
Las diferencias entre la nueva versión y la versión anterior radican en:
- Diferencias en la creación de trabajo de entrenamiento
- Diferencias en la adaptación del código de entrenamiento
- Diferencias en motores de entrenamiento incorporados
Diferencias en la creación de trabajo de entrenamiento
En la versión anterior, puede usar algoritmos personalizados, marcos comunes e imágenes personalizadas para crear trabajos de entrenamiento.
En la nueva versión, puede utilizar los algoritmos personalizados para crear trabajos de entrenamiento.
En la nueva versión, los algoritmos se pueden seleccionar por categoría al crear un trabajo de entrenamiento. Esto no afecta a los puestos de entrenamiento existentes.
Si utiliza algoritmos personalizados o marcos comunes para crear trabajos de entrenamiento en la versión anterior, puede utilizar un script personalizado para hacerlo en la nueva versión.
Si utiliza imágenes personalizadas para crear trabajos de entrenamiento en la versión anterior, puede utilizar una imagen personalizada para hacerlo en la nueva versión.
Diferencias en la adaptación del código de entrenamiento
En la versión anterior, se requiere que configure la entrada y salida de datos de la siguiente manera:
# Parse CLI parameters. import argparse parser = argparse.ArgumentParser(description='MindSpore Lenet Example') parser.add_argument('--data_url', type=str, default="./Data", help='path where the dataset is saved') parser.add_argument('--train_url', type=str, default="./Model", help='if is test, must provide\ path where the trained ckpt file') args = parser.parse_args() ... # Download data to your local container. In the code, local_data_path specifies the training input path. mox.file.copy_parallel(args.data_url, local_data_path) ... # Upload the local container data to the OBS path. mox.file.copy_parallel(local_output_path, args.train_url)
En la nueva versión, solo necesita configurar las entradas y salidas de entrenamiento. En el código, se utilizan arg.data_url y arg.train_url como rutas locales. Para obtener más información, consulte Desarrollo de un script personalizado.
# Parse CLI parameters. import argparse parser = argparse.ArgumentParser(description='MindSpore Lenet Example') parser.add_argument('--data_url', type=str, default="./Data", help='path where the dataset is saved') parser.add_argument('--train_url', type=str, default="./Model", help='if is test, must provide\ path where the trained ckpt file') args = parser.parse_args() ... # The downloaded code does not need to be set. Use data_url and train_url for data training and output. # Download data to your local container. In the code, local_data_path specifies the training input path. #mox.file.copy_parallel(args.data_url, local_data_path) ... # Upload the local container data to the OBS path. #mox.file.copy_parallel(local_output_path, args.train_url)
Diferencias en motores de entrenamiento incorporados
- En la nueva versión, se instala MoXing 2.0.0 o posterior de forma predeterminada para los motores de entrenamiento integrados.
- En la nueva versión, Python 3.7 o posterior se utiliza para los motores de entrenamiento incorporados.
- En la nueva imagen, el directorio principal predeterminado se ha cambiado de /home/work a /home/ma-user. Comprueba si el código de entrenamiento contiene una codificación dura de /home/work.
- Built-in training engines are different between the old and new versions. Commonly used built-in training engines have been upgraded in the new version.
Para utilizar un motor de entrenamiento en la versión anterior, cambie a la versión anterior. Tabla 1 enumera las diferencias entre los motores de entrenamiento incorporados en las versiones antiguas y nuevas.
Tabla 1 Diferencias entre los motores de entrenamiento incorporados en las versiones antiguas y nuevas Entorno de tiempo de ejecución
Motor y versión de entrenamiento incorporados
Versión anterior
Versión nueva
TensorFlow
TensorFlow-1.8.0
√
x
TensorFlow-1.13.1
√
Próximamente
TensorFlow-2.1.0
√
√
MXNet
MXNet-1.2.1
√
x
Caffe
Caffe-1.0.0
√
x
Spark MLlib
Spark-2.3.2
√
x
Ray
Ray-0.7.4
√
x
XGBoost with scikit-learn
XGBoost-0.80-Sklearn-0.18.1
√
x
PyTorch
PyTorch-1.0.0
√
x
PyTorch-1.3.0
√
x
PyTorch-1.4.0
√
x
PyTorch-1.8.0
x
√
MPI
MindSpore-1.3.0
x
√
Horovod
Horovod_0.20.0-TensorFlow_2.1.0
x
√
horovod_0.22.1-pytorch_1.8.0
x
√
MindSpore-GPU
MindSpore-1.1.0
√
x
MindSpore-1.2.0
√
x