The NCF model focuses on providing recommendations. This is a modified implementation with improved overfitting and better accuracy.
Setup
Requirements
The easiest way to train the model is to use a Docker container. This would require:
For more information about how to get started with NGC containers, see the following sections from the NVIDIA GPU Cloud Documentation and the Deep Learning Frameworks Documentation:
- Getting Started Using NVIDIA GPU Cloud
- Accessing And Pulling From The NGC Container Registry
- Running PyTorch
Training using mixed precision with Tensor Cores
Supported hardware
Before you can train using mixed precision with Tensor Cores, ensure that you have an NVIDIA Volta based GPU. Other platforms may work, however, are not officially supported.
Software changes
For detailed information about how to train using mixed precision, see the Mixed Precision Training paper and Training With Mixed Precision documentation.
Another option for adding mixed-precision support is available from NVIDIA's APEX, a PyTorch extension, that contains utility libraries, such as AMP, which require minimal network code changes to leverage Tensor Core performance.
This implementation of the NCF model uses a custom FP16 optimizer to implement mixed precision with static loss scaling. The custom FP16 Optimizer was used to take advantage of the performance gains provided by the FusedOptimizer.