Bird
Raised Fist0
PyTorchml~20 mins

Model packaging (.mar files) in PyTorch - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Model Packaging Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
What is the main purpose of a .mar file in PyTorch model deployment?

A .mar file is used in PyTorch model deployment. What does it mainly contain?

AIt packages the model's weights, code, and configuration for serving.
BIt stores only the raw training data used for the model.
CIt is a log file recording model training progress.
DIt contains only the model's architecture without weights.
Attempts:
2 left
💡 Hint

Think about what you need to run a model in production.

❓ Predict Output
intermediate
1:30remaining
What is the output of this TorchServe packaging command?

Consider the command below to create a .mar file:

torch-model-archiver --model-name mymodel --version 1.0 --serialized-file model.pt --handler image_classifier --export-path model_store

What will be the name of the generated .mar file in model_store?

Amymodel.mar
Bmymodel-1.0.mar
Cmodel.pt.mar
Dimage_classifier.mar
Attempts:
2 left
💡 Hint

The version is appended to the model name in the .mar file.

❓ Model Choice
advanced
2:00remaining
Which file must be included in the .mar archive for custom preprocessing?

You want to add custom preprocessing code to your PyTorch model serving. Which file should you include in the .mar package?

AA custom handler Python script.
BThe raw training dataset file.
CA JSON file with training hyperparameters.
DThe model's .pt weights file only.
Attempts:
2 left
💡 Hint

Custom preprocessing is done in the handler code.

❓ Hyperparameter
advanced
2:00remaining
Which option correctly sets the batch size for TorchServe during model serving?

You want to configure TorchServe to process 16 inputs at once. Which configuration parameter should you set?

ASet <code>batch_size=16</code> in the training script before packaging.
BSet <code>batch_size=16</code> in the <code>torch-model-archiver</code> command.
CSet <code>batch_size=16</code> in the model's <code>config.properties</code> file.
DSet <code>batch_size=16</code> in the model's .pt file.
Attempts:
2 left
💡 Hint

Batch size for serving is a runtime config, not training.

🔧 Debug
expert
2:30remaining
Why does this .mar file fail to load in TorchServe?

You created a .mar file with this command:

torch-model-archiver --model-name faultymodel --version 1.0 --serialized-file model.pt --handler custom_handler.py --export-path model_store

When starting TorchServe, it fails to load the model with an error about missing handler. What is the most likely cause?

AThe model.pt file is corrupted and cannot be loaded.
BThe export-path directory does not exist.
CThe version number must be omitted for custom handlers.
DThe handler argument should be the handler name, not the file path.
Attempts:
2 left
💡 Hint

Check how the handler argument is specified in torch-model-archiver.

Practice

(1/5)
1. What is the main purpose of packaging a PyTorch model into a .mar file?
easy
A. To visualize the model architecture
B. To convert the model into a different training format
C. To compress the model for storage only
D. To bundle the model and code for easy deployment with TorchServe

Solution

  1. Step 1: Understand what a .mar file contains

    A .mar file bundles the trained model and the handler code needed to serve it.
  2. Step 2: Identify the use case of .mar files

    These files are used by TorchServe to deploy models as APIs easily.
  3. Final Answer:

    To bundle the model and code for easy deployment with TorchServe -> Option D
  4. Quick Check:

    Model packaging = deployment bundle [OK]
Hint: Think deployment: .mar bundles model + code [OK]
Common Mistakes:
  • Confusing .mar with just compression
  • Thinking .mar changes training format
  • Assuming .mar is for visualization
2. Which command correctly creates a .mar file using torch-model-archiver?
easy
A. torch-model-archiver --model-name mymodel --model-file model.pth --handler handler.py --export-path model_store
B. torch-model-archiver --model-name mymodel --model-file model.pth --handler handler.txt --export-path model_store
C. torch-model-archiver --model-name mymodel --model-file model.txt --handler handler.py --export-path model_store
D. torch-model-archiver --model-name mymodel --model-file model.py --handler handler.py --export-path model_store

Solution

  1. Step 1: Identify correct model file type

    The model file should be a PyTorch model file like .pth, not a Python script or text file.
  2. Step 2: Confirm handler file type

    The handler must be a Python script .py, not a text file.
  3. Final Answer:

    torch-model-archiver --model-name mymodel --model-file model.pth --handler handler.py --export-path model_store -> Option A
  4. Quick Check:

    Model file = .pth, handler = .py [OK]
Hint: Model file is .pth, handler is .py script [OK]
Common Mistakes:
  • Using .py file as model file
  • Using .txt as handler file
  • Mixing file extensions incorrectly
3. Given this command:
torch-model-archiver --model-name resnet --model-file resnet.pth --handler image_classifier.py --export-path model_store

What will be the output?
medium
A. A Python script named resnet.py created
B. An error because resnet.pth is not a valid model file
C. A file named resnet.mar created in model_store directory
D. A folder named resnet.mar created

Solution

  1. Step 1: Understand torch-model-archiver output

    The command packages the model and handler into a single .mar file.
  2. Step 2: Check output location and file name

    The .mar file is named after the model name and saved in the export path.
  3. Final Answer:

    A file named resnet.mar created in model_store directory -> Option C
  4. Quick Check:

    .mar file = model + handler bundle [OK]
Hint: Output is a .mar file named after model [OK]
Common Mistakes:
  • Expecting a Python script output
  • Thinking .mar is a folder
  • Assuming error due to .pth file
4. You ran this command:
torch-model-archiver --model-name mymodel --model-file model.pth --handler handler.py --export-path model_store

But got an error: Handler file not found. What is the likely cause?
medium
A. The handler.py file is missing or path is incorrect
B. The model.pth file is corrupted
C. The export path model_store does not exist
D. The model name contains invalid characters

Solution

  1. Step 1: Analyze the error message

    The error says handler file not found, so the problem is with the handler.py file location or name.
  2. Step 2: Check other options

    Model file corruption or export path issues would cause different errors, not handler missing.
  3. Final Answer:

    The handler.py file is missing or path is incorrect -> Option A
  4. Quick Check:

    Error message = handler file missing [OK]
Hint: Check handler file path if 'Handler file not found' error occurs [OK]
Common Mistakes:
  • Blaming model file for handler error
  • Ignoring file path correctness
  • Assuming export path causes handler error
5. You want to package two different PyTorch models with custom handlers into .mar files for TorchServe. Which approach correctly packages both models for deployment?
hard
A. Package one model as .mar and copy the second model file into the model_store folder without packaging
B. Run torch-model-archiver twice, each time with the respective model file, handler, and unique model name, exporting to the same model_store folder
C. Combine both models into one .pth file and use a single handler to package once
D. Use torch-model-archiver once with both model files and handlers listed separated by commas

Solution

  1. Step 1: Understand packaging multiple models

    Each model requires its own .mar file with its specific handler and unique model name.
  2. Step 2: Confirm correct packaging method

    Running torch-model-archiver twice with different parameters and exporting to the same folder is the correct way.
  3. Final Answer:

    Run torch-model-archiver twice, each time with the respective model file, handler, and unique model name, exporting to the same model_store folder -> Option B
  4. Quick Check:

    One .mar per model + handler [OK]
Hint: Package each model separately with unique names [OK]
Common Mistakes:
  • Trying to combine models in one .mar file
  • Copying model files without packaging
  • Passing multiple files in one command
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard