@@ -433,3 +433,44 @@ def test_mxnet_with_disable_profiler_then_enable_default_profiling(
433
433
434
434
job_description = mx .latest_training_job .describe ()
435
435
assert job_description ["ProfilerConfig" ]["S3OutputPath" ] == mx .output_path
436
+
437
+
438
+ def test_mxnet_profiling_with_disable_debugger_hook (
439
+ sagemaker_session ,
440
+ mxnet_training_latest_version ,
441
+ mxnet_training_latest_py_version ,
442
+ cpu_instance_type ,
443
+ ):
444
+ with timeout (minutes = TRAINING_DEFAULT_TIMEOUT_MINUTES ):
445
+ script_path = os .path .join (DATA_DIR , "mxnet_mnist" , "mnist_gluon.py" )
446
+ data_path = os .path .join (DATA_DIR , "mxnet_mnist" )
447
+
448
+ mx = MXNet (
449
+ entry_point = script_path ,
450
+ role = "SageMakerRole" ,
451
+ framework_version = mxnet_training_latest_version ,
452
+ py_version = mxnet_training_latest_py_version ,
453
+ instance_count = 1 ,
454
+ instance_type = cpu_instance_type ,
455
+ sagemaker_session = sagemaker_session ,
456
+ debugger_hook_config = False ,
457
+ )
458
+
459
+ train_input = mx .sagemaker_session .upload_data (
460
+ path = os .path .join (data_path , "train" ), key_prefix = "integ-test-data/mxnet_mnist/train"
461
+ )
462
+ test_input = mx .sagemaker_session .upload_data (
463
+ path = os .path .join (data_path , "test" ), key_prefix = "integ-test-data/mxnet_mnist/test"
464
+ )
465
+
466
+ training_job_name = unique_name_from_base ("test-profiler-mxnet-training" )
467
+ mx .fit (
468
+ inputs = {"train" : train_input , "test" : test_input },
469
+ job_name = training_job_name ,
470
+ wait = False ,
471
+ )
472
+
473
+ job_description = mx .latest_training_job .describe ()
474
+ # setting debugger_hook_config to false would not disable profiling
475
+ # https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-turn-off.html
476
+ assert job_description .get ("ProfilingStatus" ) == "Enabled"
0 commit comments