Closed agentmorris closed 1 year ago
It looks like you are using a version of PyTorch that isn't compatible with MegaDetector v5; we recommend following our instructions for setting up a compatible Python/PyTorch environment. If you want to do this outside of Anaconda, you'll be in unsupported territory, but you should be able to make it work if you use the package versions from our environment file and the specific YOLOv5 commit recommended in our setup instructions.
Since I'm 99.99% sure this is the issue, I'm going to close this out, but let us know if you are still having issues in our recommended environment.
(Comment originally posted by agentmorris)
I followed the setup instructions to the letter and installed conda. Unfortunately, it could not locate some packages. I suspect that CameraTraps is incompatible with ARM devices. The CPU is a hexacore Cortex-A73 with a Mali GPU.
`conda env create --file environment-detector.yml Collecting package metadata (repodata.json): done Solving environment: failed
ResolvePackageNotFound:
(Comment originally posted by apach3guy)
Fascinating! You're right that this device is unsupported; the only non-Intel device for which we currently have partial support is the M1 Mac, which is also ARM, but it's an ARM platform for which all the dependent packages exist, most notably PyTorch.
But... if you want see how far you can take this, maybe delete your conda environment, then re-create it, but instead of using "environment-detector.yml", use "environment-detector-mac-nomkl.yml" (just added recently, you'll need to update your copy of the repo). This environment file includes the "nomkl" package, which will tell other packages not to depend on Intel-specific instructions, and it does not include cudnn, which definitely doesn't exist for this platform. That won't get you any closer to using your GPU, but it may get you closer to a successful install that uses your CPU.
Unfortunately if the requisite version of PyTorch doesn't exist for this platform, we're likely just out of luck. If you can find other documentation about getting PyTorch to work on this architecture, maybe you can mix and match.
Let us know if you figure something out!
(Comment originally posted by agentmorris)
If you are wanting to go full-experimental you could try building PyTorch using the Vulkan backend (https://pytorch.org/tutorials/prototype/vulkan_workflow.html). Vulkan is an alternative GPU API (cf. CUDA) that is mostly aimed at mobile devices. I have no experience with it or the Odroid, but if this works it could make a lot of other cheap single board computers into useable image processors (e.g. raspberry pi). Good luck!
(Comment originally posted by alsnothome)
I'm trying to run the detector on my Odroid N2+ on Ubuntu 20.04. I have tried a few different images, all result in the same output below:
# python3 detection/run_detector.py "md_v5a.0.0.pt" --image_file "horse.jpg" --threshold 0.1 Running detector on 1 images... PyTorch reports 0 available CUDA devices GPU available: False Using PyTorch version 1.13.0 Fusing layers... Illegal instruction
Issue cloned from Microsoft/CameraTraps, original issue posted by apach3guy on Nov 09, 2022.