| Customize Help

Requirements, recommendations, and troubleshooting

When using the MIL Classification module, there are computer related requirements, such as memory, that are additional to what is already required to run MIL. For example, datasets can have a substantial number of entries, and you must ensure that you have enough RAM to use them for training. There are also several recommendations that you should follow, particularly related to training a predefined CNN classifier.

Other than ensuring that you have enough RAM for your datasets, tree ensemble classifiers do not have any additional computer related requirements.

To validate that your system meets the requirements to perform optimal CNN training, a CNN Train Engine Test is available in the MILConfig utility under the Classification folder.

Computer requirements for a predefined CNN classifier

To use a predefined CNN classifier, note the requirements and recommendations for the following:

  • GPU and CPU.

    • It is highly recommended to use a GPU for training (although you can use the CPU). Prediction is done with the CPU.

      Some GPUs only function when connected to a monitor.

      Note, GPUs are also known as video cards or display adapters.

    • When using a GPU, one CPU core is still needed. Using a CPU with a higher clock rate, rather than a higher number of cores, is recommended.

      If using the CPU for training, a high-end multi-core CPU is recommended.

    • The GPU must be from NVIDIA; for example, Quadro P1000, GTX 1650, RTX 2060, and RTX 2070.

    • The GPU must have a minimum compute capability of 3.0, although 6.0 is recommended.

    • The GPU must support CUDA 9.2, and you must install and use CUDA 9.2. Also, CuDNN 7.6.0 is mandatory if you want to train with a compute capability of 6.0. You must obtain and install such requirements separately. This can be done from https://developer.nvidia.com/. Note, if installing CuDNN, you will need to extract a file and possibly adjust an environment variable. For more information, see https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html.

    • It is recommended to have at least 4 gigabytes of GPU memory. Having even more memory is preferable, as it can increase the size with which the data is organized during training (the mini-batches).

    • Although it might be possible to use eGPUs (external GPUs) for training, they are designed for gaming and have not been tested. To use an eGPU, try training with it on a laptop with a Thunderbolt 3 port. Note, eGPUs are not supported on the desktop.

    • While training on the GPU, avoid running any other application on it.

  • Operating system and main memory.

    • You must use a 64-bit Windows 10 operating system.

    • It is recommended that the main memory is at least twice the size of the GPU's memory. As previously discussed, you must have enough memory to process datasets (which can be large).

  • SSD.

    • If you use an SSD, ensure that it has enough capacity to at least hold all the training data.

    • You must appropriately format the SSD, given the file size and the number of files. For example, if you are using small files, you can format the SSD for exFAT with a 4k cluster.

    • Minimize the risks that can severely reduce disk performance, such as file indexing and anti-virus processes.

Troubleshooting for a predefined CNN classifier

If you are having trouble using a predefined CNN classifier on your computer, you can call MclassInquire() to retrieve information that can help you diagnose the problem (training error or training very slowly). For example, you can inquire:

To retrieve information about the general state of the training, call MclassGetResult() with M_STATUS. The status can give you critical information, such as whether the training (or prediction) was successful, or whether it encountered an issue (for example, not enough memory or a non-finite computational value).

GPU, CUDA, and CuDNN installation

To further help you troubleshoot, ensure that the GPU, CUDA 9.2, and CuDNN are installed correctly.

To ensure that the GPU is installed correctly:

  1. Open the Windows Command Prompt (press the Windows key + R and type "cmd").

  2. Type "devmgmt.msc".

  3. Verify that the GPU is working correctly; for example, there should not be an exclamation point. The following is an example of how a properly functioning GPU is listed:

  4. Verify that you are not using a GPU that should be connected to a monitor and is not. The following is an example of how an improperly connected GPU is listed:

  5. If the problem persists, download the latest display driver for your GPU.

To ensure that CUDA 9.2 is installed correctly:

  1. Open the Windows Command Prompt (press the Windows key + R and type "cmd").

  2. Type "%CUDA_PATH%\extras\demo_suite\devicequery.exe" (include the quotation marks).

  3. Verify that the CUDA runtime version is 9.2. The following is an example of how the correct runtime version number is displayed:

To ensure that CuDNN is installed correctly:

  1. Open the Windows Command Prompt (press the Windows key + R and type "cmd").

  2. Type "where cudnn*.dll".

  3. Verify that cudnn64_7.dll (this is the CuDNN DLL) is visible by Windows. The following is an example of how the DLL is displayed:

    If cudnn64_7.dll is not present, MIL attempts to perform the training with CUDA Compute Capability 3.0.