If your data can be fit into the CPU memory, it is a good practice to save your data into one pickle file (or other format that you know how to deserialize). This comes with several advantages. First, it is easier and faster to read from a single big file rather than many small files. Second, it avoids the possible system error of openning too many files (even though avoiding lazying data loading is another way to fix the issue). Some example datasets (e.g., MNIST) have separate training and testing files (i.e., 2 pickle files), so that research work based on it can be easily reproduced. I personally suggest that you keep only 1 file containing all data when implementing your own Dataset class. You can always use the function
torch.utils.data.random_split
AI-based Code Completion Tools
Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
TabNine
TabNine uses deep learning to help you write code faster. In paticular, jupyter-tabnine and TabNine VSCode are TabNine plugins for Jupyter Notebook (JupyterLab not support yet) and Visual Studio Code …
Reduce Memory Needed to Train Deep Learning Models
Move a Tensor to a Specific Device in PyTorch
Adaptive Pooling in PyTorch
Tips and Traps¶
- Adpative pooling an generate fixed-sized output, which enables a model to handle varying sized input. The models in torchvision are such examples.