Problems with deeplabcut installation on Windows 10

Hi there,

I am trying to install deeplabcut 2.0 on Windows 10. I managed to install tensorflow and deeplab cut via pip in a virtualenvironment (deeplabcut).

However, when I try to run the reaching demo:
import deeplabcut
import tensorflow as tf
import os
from pathlib import Path
#create a variable to set the config.yaml file path:
path_config_file = os.path.join(os.getcwd(),‘Reaching-Mackenzie-2018-08-30/config.yaml’)

#let’s load some demo data, and create a training set (this function is not used when you create your own project):
deeplabcut.load_demo_data(path_config_file)

I get:

Loaded, now creating training data…

D:\DeepLabCut2.0\examples\Reaching-Mackenzie-2018-08-30\training-datasets\iteration-0\UnaugmentedDataSet_ReachingAug30  already exists!
Traceback (most recent call last):
  File "D:\deeplabcut\lib\site-packages\pandas\io\pytables.py", line 445, in __init__
    import tables  # noqa
  File "D:\deeplabcut\lib\site-packages\tables\__init__.py", line 131, in <module>
    from .file import File, open_file, copy_file
  File "D:\deeplabcut\lib\site-packages\tables\file.py", line 35, in <module>
    from . import hdf5extension
ImportError: DLL load failed: The specified procedure could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\deeplabcut\lib\site-packages\deeplabcut\create_project\demo_data.py", line 35, in load_demo_data
    deeplabcut.create_training_dataset(config, num_shuffles=1)
  File "D:\deeplabcut\lib\site-packages\deeplabcut\generate_training_dataset\trainingsetmanipulation.py", line 439, in create_training_dataset
    Data = merge_annotateddatasets(cfg,project_path,Path(os.path.join(project_path,trainingsetfolder)),windows2linux)
  File "D:\deeplabcut\lib\site-packages\deeplabcut\generate_training_dataset\trainingsetmanipulation.py", line 361, in merge_annotateddatasets
    data = pd.read_hdf((str(data_path / Path(i))+'/CollectedData_'+cfg['scorer']+'.h5'),'df_with_missing')
  File "D:\deeplabcut\lib\site-packages\pandas\io\pytables.py", line 349, in read_hdf
    store = HDFStore(path_or_buf, mode=mode, **kwargs)
  File "D:\deeplabcut\lib\site-packages\pandas\io\pytables.py", line 448, in __init__
    'importing'.format(ex=str(ex)))
ImportError: HDFStore requires PyTables, "DLL load failed: The specified procedure could not be found." problem importing

I can see that there is a problem with pytables. I installed pytables with pip install tables==3.4.4 and I can import it successfully.

Any ideas how to solve this issue?

Many thanks in advance!

Hey Edgarbc,

This is a pandas (pytables link error). See e.g. https://github.com/pandas-dev/pandas/issues/19666

Cheers,
Alexander

Thank you for the quick response. I tried to do the same as in the suggested thread:

pip uninstall h5py
pip install h5py=2.7.0

but no success. I will try to anaconda route and see if I manage to install it. In the meantime, I will continue using the old version of dlc.
Thanks again!

Here is the solution:

I would strongly recommend using the supplied conda files! https://github.com/AlexEMG/DeepLabCut/tree/master/conda-environments

The cause for this issue is that the Windows binary releases for the pytables and h5py packages on PyPI are not coordinated such that both packages often ship with incompatible versions of the HDF5 DLLs. See for example https://github.com/h5py/h5py/issues/1142 or https://github.com/PyTables/PyTables/issues/715. A workaround is to use binaries from other distributors such as conda-forge or https://www.lfd.uci.edu/~gohlke/pythonlibs/

1 Like

Thanks for the suggestion. I will try that and report back. Now I am trying the conda route, also having problems with that but I will start a separate thread for that so the methods dont get mixed up.

Thanks a lot again!

Thank you very much for the suggestion. It solved the issue. What I did:

  1. Download pytables and h5py from https://www.lfd.uci.edu/~gohlke/pythonlibs/
  2. Installed them with pip (replacing the existing ones)
    done!

PS - I added a how to for using the conda install options: https://github.com/AlexEMG/DeepLabCut/tree/master/conda-environments

Yes, I noticed. Thanks for letting me know! I got my virtualenv and pip version working (thanks for your suggestions) but will test the Anaconda route again soon.

1 Like

Hi there,

I have some basic questions regarding the installation of the DLC GPU version. The CPU-version worked fine for me, I installed it in the provided environment and achieved great results in tracking animals. Thanks’ for this awesome program!

Setup: Windows 7, GTX 960, latest DLC Version

Ubuntu is right now not at option for me due to work restrictions.

Now I have some trouble installing the GPU environment on Windows.

As stated in the instructions, I installed the latest driver for my GPU. After that I installed CUDA 10.1 and CUDNN and added the new variables to the path. Nvidia Smi displays me my graphics card.

When I try to install the GPU Environment now, I get multiple bug reports in the Anaconda Prompt. I think the installation of CUDA works, but I am not sure…

I probably missed something important. Could you elaborate how to install the GPU Environment on a Windows machine? Do you install tf later in the environment, just like DLC? I tried to follow the instructions and also read in forums and on the tf homepage; however the exact step by step process is still not perfectly clear to me.

I want to test the older GTX 960 before buying a new RTX.

Thank you very much!

Hi peterperch,

What are the multiple bugs you get? you can follow the installation guide of DLC (for the order).

you may want to check your driver, CUDA, duCNN versions with the TF that is installed in the GPU evn (which currently is 1.12, but you can change that if needed! https://github.com/AlexEMG/DeepLabCut/blob/master/conda-environments/dlc-windowsGPU.yaml)
But, namely, they all have to be compatible with your card/versions (and here are some tips/videos to install CUDA correctly):

1 Like

Thank you so much for your help! I downgraded from CUDA 10.1 to CUDA 9.0 and from tf 1.13.1 to tf 1.12… The provided environment still gave me errors when installing, however I tried to install everything in the right order “by hand”. The last step for me was to uninstall numpy two times and reinstall it. After that everything worked. For my network I have to set the proxy to download files…

This was my installation procedure:

set HTTPS_PROXY=http://10.127.255.17:8080

conda create -n deeplabcut python=3.6

conda activate deeplabcut

set HTTPS_PROXY=http://10.127.255.17:8080

pip install deeplabcut

pip install -U wxPython

pip install tensorflow-gpu==1.12

conda install nb_conda

conda install -c conda-forge pytables

pip uninstall numpy

pip uninstall numpy

pip install numpy

Done

Windows 7 Enterprise, GTX 960 (4GB), latest DLC version, tf-gpu 1.12, cuda 9.0, jupyter notebook

1 Like

I have a related question…when I try to install deeplabcut for windows 10 CPU Adobe Acrobat Reader DC pops up with an error saying the file is not supported i’m wondering if there is a better app to install deeplabcut with so I can run it on Anaconda. Thanks