Giter Club home page Giter Club logo

ecoassist's People

Contributors

bobbycephy avatar ehallein avatar petervanlunteren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ecoassist's Issues

Adopt new GUI toolkit

Perhaps adopting a python native, GUI toolkit over like toga would ideal for providing similar look and feel across multiple platforms.

Tinkerer still is a viable option just not as flexible as it needs to be bundled across multiple platforms.

Documentation of EcoAssist prerequisites

Please update the EcoAssist documentation or README with full list of prerequisites and their versions. At the moment you'll need to glean this information from reading the install scripts.

EcoAssist prerequisites management script

Ecoassist has numerous prerequisites which currently downloaded during install. Perhaps it would be a good idea to streamline these multiple install command per platform into a single python prerequisites management script that does installation if anyone of the prerequisites is missing or corrupt.

Also the script help improve the downloads using concurrency and restarting downloads from partials in low bandwidth environments.

Incomplete installation

Hi,

I am trying to use EcoAssist on my Windows desktop but am facing issues with the installation and running of the program.

I have tried installing with Windows_install_EcoAssist.bat, but the installation terminates just after the downloading of the MegaDetector model (md_v5b) and the cmd prompt closes before any error message (if any) can be displayed/seen. I know that the installation is incomplete because the ecoassistcondaenv had not yet been installed.

I suspected that it was an issue with Anaconda, and so I removed the code chunk that installs Anaconda (since I already have it installed). This allowed the installation to proceed, although there are still errors popping up in the cmd terminal (please see attached for the full prompts shown on cmd. Installation log is also attached). From what I can gather, the error is The filename, directory name, or volume label syntax is incorrect.

Despite the error, ecoassistcondaenv could be downloaded and installed. However even with this, when I double click on the EcoAssist shortcut in the downloads folder, nothing comes up. Looking at the session log, it seems that EcoAssist closes by itself, although I dont see anything appearing.

Would be great to figure out what is the issue here. Please do let me know if more details are needed. Thank you so much!

OS and program versions:
Windows 11
Python 3.9.16
conda 23.1.0
git version 2.39.2.windows.1

cmd_prompts.txt
installation_log.txt
session_log.txt

Crash when running 5.8 on windows

Crash when running NZ Invasives classification model on Windows 11 using GPU - local variable 'elapsed time' referenced before assignment. See attached image when running a classification model as well
Goanna Error

CUDA error: CUBLAS_STATUS_NOT_SUPPORTED

After a standard installation, I tried to run the test steps as outlined here.

I encountered this error:
image

As suggested by issues #9 and #6 I verified the existence of md_v5a.0.0.pt and md_v5b.0.0.pt in .EcoAssist_files/pretrained_models.

The stdout.txt log dump is given below:

EXECUTED: start_deploy({})

EXECUTED: deploy_model({'path_to_image_folder': '/home/ani/Downloads/test-images', 'selected_options': ['--output_relative_filenames', '--recursive'], 'data_type': 'img'})

EXECUTED: switch_yolov5_git_to({'model_type': 'old models'})

command:

["'/home/ani/.EcoAssist_files/miniforge/envs/ecoassistcondaenv/bin/python' '/home/ani/.EcoAssist_files/cameratraps/detection/run_detector_batch.py' '/home/ani/.EcoAssist_files/pretrained_models/md_v5a.0.0.pt' '--output_relative_filenames' '--recursive' '/home/ani/Downloads/test-images' '/home/ani/Downloads/test-images/image_recognition_file.json'"]


Fusing layers... 
5 image files found in the input directory
PyTorch reports 1 available CUDA devices
GPU available: True
Using PyTorch version 1.10.1
Traceback (most recent call last):
  File "/home/ani/.EcoAssist_files/cameratraps/detection/run_detector_batch.py", line 816, in <module>
    main()
  File "/home/ani/.EcoAssist_files/cameratraps/detection/run_detector_batch.py", line 785, in main
    results = load_and_run_detector_batch(model_file=args.detector_file,
  File "/home/ani/.EcoAssist_files/cameratraps/detection/run_detector_batch.py", line 402, in load_and_run_detector_batch
    detector = load_detector(model_file)
  File "/home/ani/.EcoAssist_files/cameratraps/detection/run_detector.py", line 289, in load_detector
    detector = PTDetector(model_file, force_cpu, USE_MODEL_NATIVE_CLASSES)        
  File "/home/ani/.EcoAssist_files/cameratraps/detection/pytorch_detector.py", line 50, in __init__
    self.model = PTDetector._load_model(model_path, self.device)
  File "/home/ani/.EcoAssist_files/cameratraps/detection/pytorch_detector.py", line 62, in _load_model
    model = checkpoint['model'].float().fuse().eval()  # FP32 model
  File "/home/ani/.EcoAssist_files/yolov5/models/yolo.py", line 231, in fuse
    m.conv = fuse_conv_and_bn(m.conv, m.bn)  # update conv
  File "/home/ani/.EcoAssist_files/yolov5/utils/torch_utils.py", line 205, in fuse_conv_and_bn
    fusedconv.weight.copy_(torch.mm(w_bn, w_conv).view(fusedconv.weight.shape))
RuntimeError: CUDA error: CUBLAS_STATUS_NOT_SUPPORTED when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)`
ERROR:
local variable 'elapsed_time' referenced before assignment

DETAILS:
Traceback (most recent call last):
  File "EcoAssist/EcoAssist_GUI.py", line 1232, in start_deploy
    deploy_model(var_choose_folder.get(), additional_img_options, data_type = "img")
  File "EcoAssist/EcoAssist_GUI.py", line 1072, in deploy_model
    progress_stats['text'] = create_md_progress_lbl(elapsed_time = elapsed_time,
UnboundLocalError: local variable 'elapsed_time' referenced before assignment

My System Information:

           `.:/ossyyyysso/:.               ani@Arc 
        .:oyyyyyyyyyyyyyyyyyyo:`           ------- 
      -oyyyyyyyodMMyyyyyyyysyyyyo-         OS: Kubuntu 23.04 x86_64 
    -syyyyyyyyyydMMyoyyyydmMMyyyyys-       Host: MS-7D43 1.0 
   oyyysdMysyyyydMMMMMMMMMMMMMyyyyyyyo     Kernel: 6.2.0-26-generic 
 `oyyyydMMMMysyysoooooodMMMMyyyyyyyyyo`    Uptime: 32 mins 
 oyyyyyydMMMMyyyyyyyyyyyysdMMysssssyyyo    Packages: 2819 (dpkg), 13 (snap) 
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-   Shell: bash 5.2.15 
oyyyysoodMyyyyyyyyyyyyyyyyyyydMMMMysyyyo   Resolution: 2560x1080 
yyysdMMMMMyyyyyyyyyyyyyyyyyyysosyyyyyyyy   DE: Plasma 5.27.4 
yyysdMMMMMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy   WM: KWin 
oyyyyysosdyyyyyyyyyyyyyyyyyyydMMMMysyyyo   Theme: [Plasma], Breeze [GTK2/3] 
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-   Icons: [Plasma], Breeze-openSUSE Dark Icons [GTK2/3] 
 oyyyyyydMMMysyyyyyyyyyyysdMMyoyyyoyyyo    Terminal: konsole 
 `oyyyydMMMysyyyoooooodMMMMyoyyyyyyyyo     CPU: 12th Gen Intel i7-12700F (16) @ 4.800GHz 
   oyyysyyoyyyysdMMMMMMMMMMMyyyyyyyyo      GPU: NVIDIA GeForce RTX 3090 Ti 
    -syyyyyyyyydMMMysyyydMMMysyyyys-       Memory: 3879MiB / 31931MiB 
      -oyyyyyyydMMyyyyyyysosyyyyo-
        ./oyyyyyyyyyyyyyyyyyyo/.                                   
           `.:/oosyyyysso/:.`                                      

Nvidia Driver:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  Off |
|  0%   49C    P8    19W / 450W |    415MiB / 24564MiB |     17%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

Default CUDA Version:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0

Documentation of minium requirements to run EcoAssist

Please update the documentation with minimum software (OS, Harddrive space) and hardware (CPU,GPU, Memory) requirements to install and run EcoAssist. This would help people quickly access whether they would like to adopt running the tool on their hardware or choose a cloud service instead.

failure to create .lnk file

I've run through the installation process a couple of times now and I keep getting the following on Windows 10:

CScript Error: Execution of the Windows Script Host failed. (Access is denied. )
"Created EcoAssist.lnk"

We are seeing the following error during the install but not sure how to resolve it:
ERROR conda.core.link:_execute(745): An error occurred while installing package 'conda-forge::bzip2-1.0.8-h8ffe710_4'.
Rolling back transaction: done

Thanks for any help or guidance you can provide.

`CUDA out of memory` when checking for maximum batch size

The message below appear when building a custom classifier on a GPU equipped Windows machine, but classifier appears to build anyway

Params      GFLOPs  GPU_mem (GB)  forward (ms) backward (ms)                   input                  output

140045044 835.1 2.233 125.5 52.49 (1, 3, 1280, 1280) list

140045044 1670 3.288 170.6 80.59 (2, 3, 1280, 1280) list

140045044 3340 5.677 355.8 130.8 (4, 3, 1280, 1280) list

140045044 6681 9.836 5323 2526 (8, 3, 1280, 1280) list

CUDA out of memory. Tried to allocate 126.00 MiB (GPU 0; 8.00 GiB total capacity; 13.08 GiB already allocated; 0 bytes free; 13.51 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Can not open on macOS due to `xcrun: error`

Hello,

I have installed EcoAssist on Max with Intel CPU with MacOS Ventura 13.4.1 (c) (22F770820d) and Xcode 14.3.1 (14E300c)
Installation has finished without any visible issues, however when I double clicking EcoAssist.command file the Terminal window appears with the following text:

/Applications/EcoAssist.command ; exit;
(base) ➜ ~ /Applications/EcoAssist.command ; exit;
This is an OSX computer...
...with an Intel processor.

Saving session...completed.

[Process completed]

No application window is opened. Could you give a hint for this issue.
I really like the idea and would like to test you package

Thank you for the help!

software exiting without error or outfile generated on intel Apple iMac

Hello Peter,
I have been referred here to ask you with a problem I am having running EcoAssist on my 2013 intel iMac running OS X Catalina. I installed the software and it seemed to install fine, but strangely, when I try and run it on images, it exits a few seconds after showing the message that it is processing. If I process movies, it will process them all but in the end also simply exits without the outfile being produced.
However, the post processing works fine. I am running Megadetector on a linux cluster and imported the .json file into the folder with the images back on my Mac. Then post-processing produces the expected results. The post processing works, but the detection does not.

Could you advise what I have done wrong?

Below is the code of the command file and it looks like there is an error with the $LOCATION_ECOASSIST_FILES files maybe?

#!/usr/bin/env bash

OSX and Linux commands to open the EcoAssist application https://github.com/PetervanLunteren/EcoAssist

Peter van Lunteren, 9 Apr 2024 (latest edit)

check the OS and set var

if [ "$(uname)" == "Darwin" ]; then
echo "This is an OSX computer..."
if [[ $(sysctl -n machdep.cpu.brand_string) =~ "Apple" ]]; then
echo " ...with an Apple Silicon processor."
PLATFORM="Apple Silicon Mac"
else
echo " ...with an Intel processor."
PLATFORM="Intel Mac"
fi
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
echo "This is a Linux computer."
PLATFORM="Linux"
fi

set location var

if [ "$PLATFORM" = "Apple Silicon Mac" ] || [ "$PLATFORM" = "Intel Mac" ]; then
LOCATION_ECOASSIST_FILES="/Applications/.EcoAssist_files"
elif [ "$PLATFORM" = "Linux" ]; then
LOCATION_ECOASSIST_FILES="$HOME/.EcoAssist_files"
fi

set variables

CONDA_DIR="${LOCATION_ECOASSIST_FILES}/miniforge"
ECOASSISTCONDAENV="${CONDA_DIR}/envs/ecoassistcondaenv-base"
PIP="${ECOASSISTCONDAENV}/bin/pip"
HOMEBREW_DIR="/opt/homebrew"

log output to logfiles

exec 1> $LOCATION_ECOASSIST_FILES/EcoAssist/logfiles/stdout.txt
exec 2> $LOCATION_ECOASSIST_FILES/EcoAssist/logfiles/stderr.txt

timestamp and log the start

START_DATE=date
echo "Starting at: $START_DATE"
echo ""

log system information

UNAME_A=uname -a
if [ "$PLATFORM" = "Apple Silicon Mac" ] || [ "$PLATFORM" = "Intel Mac" ]; then
MACHINE_INFO=system_profiler SPSoftwareDataType SPHardwareDataType SPMemoryDataType SPStorageDataType
fi
FILE_SIZES_DEPTH_0=du -sh $LOCATION_ECOASSIST_FILES
FILE_SIZES_DEPTH_1=du -sh $LOCATION_ECOASSIST_FILES/*
FILE_SIZES_DEPTH_2=du -sh $LOCATION_ECOASSIST_FILES/*/*
echo "uname -a:"
echo ""
echo "$UNAME_A"
echo ""
if [ "$PLATFORM" = "Apple Silicon Mac" ] || [ "$PLATFORM" = "Intel Mac" ]; then
echo "System information:"
echo ""
echo "$MACHINE_INFO"
echo ""
fi
echo "File sizes with depth 0:"
echo ""
echo "$FILE_SIZES_DEPTH_0"
echo ""
echo "File sizes with depth 1:"
echo ""
echo "$FILE_SIZES_DEPTH_1"
echo ""
echo "File sizes with depth 2:"
echo ""
echo "$FILE_SIZES_DEPTH_2"
echo ""

change directory

cd $LOCATION_ECOASSIST_FILES || { echo "Could not change directory to EcoAssist_files. Command could not be run. Did you change the name or folder structure since installing EcoAssist?"; exit 1; }

activate conda env

source "${LOCATION_ECOASSIST_FILES}/miniforge/etc/profile.d/conda.sh"
source "${LOCATION_ECOASSIST_FILES}/miniforge/bin/activate"
export PATH="${CONDA_DIR}/bin":$PATH
conda activate $ECOASSISTCONDAENV

path to python exe

PATH_TO_PYTHON="${ECOASSISTCONDAENV}/bin/"
echo "Path to python: $PATH_TO_PYTHON"
echo ""

add to PYTHONPATH

export PYTHONPATH="$PYTHONPATH:$PATH_TO_PYTHON:$PWD/cameratraps:$PWD/ai4eutils:$PWD/yolov5:$PWD/EcoAssist"
echo "PYHTONPATH=$PYTHONPATH"
echo ""

add to PATH

export PATH="$PATH_TO_PYTHON:/usr/bin/:$PATH"
echo "PATH=$PATH"
echo ""

version of python exe

PYVERSION=python -V
echo "python version: $PYVERSION"
echo ""

location of python exe

PYLOCATION=which python
echo "python location: $PYLOCATION"
echo ""

run script

"${PATH_TO_PYTHON}/python" EcoAssist/EcoAssist_GUI.py

timestamp and log the end

END_DATE=date
echo ""
echo "Closing at: $END_DATE”
Ecoassist progress

Local variable 'elapsed_time' referenced before assignment

Hi Peter,

I'm having similar issues as to Rolland from before where deploying the model leads to an error with lines 1100 and 951 in the EcoAssist_GUI.py. I've updated my Git and completely uninstalled/reinstalled Anaconda and EcoAssist several times, similar to the previous user issue fix. As far as I can tell, EcoAssist installed properly since I have the GUI up and can search folders where images are stored.

Below is the command error prompt:

Exception in Tkinter callback
Traceback (most recent call last):
File "EcoAssist\EcoAssist_GUI.py", line 1100, in start_deploy
deploy_model(var_choose_folder.get(), additional_img_options, data_type = "img")
File "EcoAssist\EcoAssist_GUI.py", line 951, in deploy_model
progress_stats['text'] = create_md_progress_lbl(elapsed_time = elapsed_time,
UnboundLocalError: local variable 'elapsed_time' referenced before assignment

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\ProgramData\anaconda3\envs\ecoassistcondaenv\lib\tkinter_init_.py", line 1892, in call
return self.func(*args)
File "EcoAssist\EcoAssist_GUI.py", line 1121, in start_deploy
reset_frame_states()
NameError: name 'reset_frame_states' is not defined

Apple Silicon (M1) installation not working

I've downloaded install.command and opened it with the following command:

chmod 755 $HOME/Downloads/install.command
bash $HOME/Downloads/install.command

My installation appears to proceed...but then stops after this output:

Finding available software
: No such update
No updates are available.

Full install.command output and conda info attached.
I am running python 3.8.16.

installcommand-output.txt

conda-info-output.txt

Image Verification Bug

image
image

Hi there,

I am having an issue with image verification not processing. In the second image, after pressing the verification button or space bar, it highlights the background yellow but not ticking off in the Files List. No matter how long I wait, it never completes.

Please advise on how this can be fixed.

Thank you.

Missing modules

Hi Peter,

I am trying to use EcoAssist on Windows but am facing issues when I first open it. It says successfully installed but when I open it, the window closes almost immediately. If I run it in the cmd line it gives me this.

Path to conda as imported from "C:\Program Files\EcoAssist_files\EcoAssist\logfiles\path_to_conda_installation.txt" is: "E:\miniforge3"
Path to git as imported from "C:\Program Files\EcoAssist_files\EcoAssist\logfiles\path_to_git_installation.txt" is: "C:\Program Files\Git"
Traceback (most recent call last):
File "EcoAssist\EcoAssist_GUI.py", line 40, in
from GPSPhoto import gpsphoto
ModuleNotFoundError: No module named 'GPSPhoto'

I then installed gpsphoto 2.2.3 through miniforge3 but there is no change. I've attached session and install logs
installation_log.txt
session_log.txt

'cancel_var' is not defined in start_postprocess()

Error post-processing video;

Traceback (most recent call last):
  File "EcoAssist/EcoAssist_GUI.py", line 561, in start_postprocess
    if vid_json and not cancel_var:
NameError: name 'cancel_var' is not defined

Seems like cancel_var is being checked there before initialization (which only happens in process() ).

Adding global cancel_var; cancel_var = False to start_postprocess() might resolve this?

finding pictures with unknown animals

Hello,

we have deployed camera traps at bird nests, to monitor nest predation as part of a scientific project. We do currently NOT know which animals will predate the nest (if any). Is it possible to use EcoAssist to detect any unknown animal? Or does it need to be trained to detect certain known animal species?

Ideally, we would like to do both, capture all pictures were the resident birds visit the nest (a small songbird), and secondly, monitor for possible unknown predators.

Thanks for your help how this can be best achieved.

Add Windows Subsystem for Linux as an option in instructions.

I was able to install and use EcoAssist in the WSL version 2 running Ubuntu 22.04 with relative ease. It runs well on CPU and theoretically should be able to use the GPU (my windows laptop has no NVidia so I can't test, see the WSL documentation). It solves any issues with permissions as WSL is its own environment.

Steps:

  1. Install WSL version 2 normally as shown here and here.
  2. Open up linux and install EcoAssist as normal.
  3. I had to run sudo apt-get install libgl1 to install the openGL libraries (is this checked in the install script?)
  4. run ./.EcoAssist_files/EcoAssist/open.command

Thought this could be useful for some people.

Automatic localization of git and conda during Windows installation

Installation on Windows would be easier if git and conda were found automatically. install.bat could try to find them with where git and where conda. If the paths are found, you could be prompted to confirm them or enter other paths. Preferably, you could only be prompted to enter them if they were not found.

object detection followed by classification vs. just object detection

Dear @PetervanLunteren ,

@maxsitt and I came across your comment for you EcoAssist release -https://github.com/PetervanLunteren/EcoAssist/releases/tag/v4.4

In previous versions of EcoAssist (v3.0 > v4.3) it was possible to train your own object detection models based on MegaDetector to detect your target species. Although this did work, it wasn't the best approach to develop a species recognition model. It required lots of training data, processing power, time, electricity and wasn't very accurate. Advancing insights revealed that better results can be obtained by using a object classification model to be used in conjunction with the results of MegaDetector. The animals will then be located by MegaDetector, and further classified by your custom model.

So, if I understand correctly, the way to go ahead involves initially using an object detector, such as YOLO, primarily for localization rather than classification. Subsequently, a separate classifier is applied to the images cropped based on the bounding boxes provided by the object detector.
My questions are:

    1. Does this two-step method (object detection followed by classification) demonstrate more efficiency in terms of overall performance compared to using an object detector like YOLO for both localization and classification directly, without an additional classifier?
    1. If yes, are you aware of some published work that addressed this (can be from other domains, not only life sciences). I struggle to find something at the moment.

Cheers

ZeroDivisionError while training model

Hi there,

While attempting to train using data exported post-annotation step the application seemed to hang and produce the following error.

C:\Windows\System32>echo off
Path to conda as imported from "C:\PROGRA~1\EcoAssist_files\EcoAssist\logfiles\path_to_conda_installation.txt" is: "C:\ProgramData\miniforge3"
Path to git as imported from "C:\PROGRA~1\EcoAssist_files\EcoAssist\logfiles\path_to_git_installation.txt" is: "C:\Program Files\Git"
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\ProgramData\miniforge3\envs\ecoassistcondaenv\lib\tkinter\__init__.py", line 1892, in __call__
    return self.func(*args)
  File "EcoAssist\EcoAssist_GUI.py", line 612, in start_training
    prepare_data_for_training(data_dir, var_test_prop.get(), var_val_prop.get())
  File "EcoAssist\EcoAssist_GUI.py", line 512, in prepare_data_for_training
    pascal_voc_to_yolo(data_folder)
  File "EcoAssist\EcoAssist_GUI.py", line 1362, in pascal_voc_to_yolo
    send_to_output_window(f"   {counts['background']} background images ({round(counts['background'] / counts['images'] * 100, 1)}% of total n images)")
ZeroDivisionError: division by zero

I'm only use a small sample of roughly 20 images to try familiarize myself with the training process so maybe I'm doing something wrong / not using a large enough sample.

Any assistance would be helpful!

training using: megadetector 5b model

Cheers

Local variable 'elapsed time' referenced before assignment.

When I attempt to to use EcoAssist_GUI.py using the provided training data, I receive this error. I am running on Windows 11 install under Anaconda, but I also receive the same error running in Linux Mint.

ERROR:
local variable 'elapsed_time' referenced before assignment

DETAILS:
Traceback (most recent call last):
File "EcoAssist_GUI.py", line 1052, in start_deploy
deploy_model(var_choose_folder.get(), additional_img_options, data_type = "img")
File "EcoAssist_GUI.py", line 912, in deploy_model
progress_stats['text'] = create_md_progress_lbl(elapsed_time = elapsed_time,
UnboundLocalError: local variable 'elapsed_time' referenced before assignment.

Thanks,
Roland

Was previously working, now 'local variable 'elapsed_time' referenced before assignment'.

I downloaded eco assist and it was working however was not using the GPU. I then updated the driver for the graphics cards I was using and now I get this error message.

An error has occurred (EcoAssist v4.4): 'local variable 'elapsed_time' referenced before assignment'.

Traceback (most recent call last):
File "EcoAssist\EcoAssist_GUI.py", line 1773, in start_deploy
deploy_model(var_choose_folder.get(), additional_img_options, data_type = "img")
File "EcoAssist\EcoAssist_GUI.py", line 1541, in deploy_model
progress_stats['text'] = create_md_progress_lbl(elapsed_time = elapsed_time,
UnboundLocalError: local variable 'elapsed_time' referenced before assignment

The python files for models models are both present in the pretrained models folder, seems to be another issue. I am a PhD student and have no formal training in python so am a little stuck on what to do...

Cannot start application on MacOS (Intel)

I installed the application, that seems to work fine. When I run the app I see this output in the terminal:

 /Applications/EcoAssist.command ; exit;
This is an OSX computer...
   ...with an Intel processor.

Saving session...completed.

[Process completed]

The stderr.txt file contains this:

EnvironmentLocationNotFound: Not a conda environment: /Applications/.EcoAssist_files/miniforge/envs/ecoassistcondaenv

Traceback (most recent call last):
  File "/Applications/.EcoAssist_files/EcoAssist/EcoAssist_GUI.py", line 15, in <module>
    import cv2
ModuleNotFoundError: No module named 'cv2'

No such file or directory error for C:\Program after starting training when building custom classifier

No such file or directory error for C:\Program in Session log after starting training on Windows box with GPU when building custom classifier as shown below, but processing continues anyway.

Also message about out-of-date YOLOv5

Starting training process...

�[34m�[1mtrain: �[0mweights=C:\Program Files\EcoAssist_files\pretrained_models\md_v5a.0.0.pt, cfg=, data=D:\Goanna Cam pics 2022_23 Ains_Maj 1.8M files 6.30Tb\Fox Magpie Chough 2\dataset.yaml, hyp=............\Program Files\EcoAssist_files\yolov5\data\hyps\hyp.scratch-low.yaml, epochs=300, batch_size=-1, imgsz=1280, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, noplots=False, evolve=None, bucket=, cache=None, image_weights=False, device=0, multi_scale=False, single_cls=False, optimizer=SGD, sync_bn=False, workers=4, project=Training 1000, name=exp, exist_ok=False, quad=False, cos_lr=False, label_smoothing=0.0, patience=100, freeze=[12], save_period=-1, seed=0, local_rank=-1, entity=None, upload_dataset=False, bbox_interval=-1, artifact_alias=latest

�[34m�[1mgithub: �[0m YOLOv5 is out of date by 107 commits. Use 'git pull' or 'git clone https://github.com/ultralytics/yolov5' to update.

fatal: cannot change to 'C:\Program': No such file or directory

YOLOv5 2023-10-18 Python-3.8.15 torch-1.10.1 CUDA:0 (NVIDIA GeForce RTX 3060, 8192MiB)

Exif data lost when visualising bounding boxes.

When bounding boxes are drawn (and probably when cropped) in post-processing, it seems the Exif data is lost. This means the date captured is lost, which is important for some analysis later on.

The issue seems to be that im_to_vis = cv2.imread(os.path.join(src_dir, file)) converts the image into a numpy array.

the fix is probably to use an Exif library to copy it from the source to the new image.

I'm happy to look at doing the fix if you like.

Post processing

Hello Peter

I am facing this issue recently where during the post process it shows an error where it says one the the file is missing and then it stops processing. Is there any way where I can overlook this error and the post processing doest stop and may be I can fix the issue later looking at the error log file.
image

How to change install drive - Install EcoAssist on a custom location

Is it possible to change the drive it's installed on if I'm installing without admin privledges? It wants to install on my M drive but that only has 1 GB of storage so I'd prefer to change it to my C drive.

|--------------------------- ECOASSIST INSTALLATION ---------------------------|

It seems like you don't have admin rights. Do you want to proceed to install for all users and enter an admin password, or install EcoAssist only for you (no admin rights required)?
Enter [O]nly me or [P]roceed as admin: O

Proceeding to install in userfolder...

Proceeding to install...
Install script is located on drive: 'C:'
EcoAssist will be installed on drive: 'M:'
Changed drive to: 'M:'
Prefix: 'M:'
Location: 'M:\EcoAssist_files'
Created empty dir: 'M:\EcoAssist_files'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.