Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

('int' object is not iterable) running detect from a python script #5947

Closed
1 of 2 tasks
S7eezy opened this issue Dec 10, 2021 · 5 comments · Fixed by #5948
Closed
1 of 2 tasks

('int' object is not iterable) running detect from a python script #5947

S7eezy opened this issue Dec 10, 2021 · 5 comments · Fixed by #5948
Labels
bug Something isn't working

Comments

@S7eezy
Copy link

S7eezy commented Dec 10, 2021

Search before asking

  • I have searched the YOLOv5 issues and found no similar bug report.

YOLOv5 Component

Detection

Bug

Hello,

python detect.py --weights x --source y works well from command line.

But whenever I try to use it from a python script i get the following error :

File "...\venv\lib\site-packages\torch\autograd\grad_mode.py", line 28, in decorate_context
    return func(*args, **kwargs)
  File "...\yolov5\detect.py", line 100, in run
    model.warmup(imgsz=(1, 3, *imgsz), half=half)  # warmup
TypeError: 'int' object is not iterable

Script example :

import yolov5.detect as detect

if __name__ == "__main__":
    torch.cuda.empty_cache()
    detect.run(weights=".../best.pt", source=".../images")

I'm using subprocess for now to get around this issue but using the output is not friendly at all 🤣

Keep up this awesome project !

Environment

yolo: YOLOv5 v6.0-133-g4fb6dd4 torch 1.10.0+cu102 CUDA:0 (NVIDIA GeForce RTX 2080 Ti, 11264MiB)
OS: win10
py: 3.8.9

Minimal Reproducible Example

import yolov5.detect as detect

if __name__ == "__main__":
    torch.cuda.empty_cache()
    detect.run(weights=".../best.pt", source=".../images")

Additional

No response

Are you willing to submit a PR?

  • Yes I'd like to help by submitting a PR!
@S7eezy S7eezy added the bug Something isn't working label Dec 10, 2021
@github-actions
Copy link
Contributor

github-actions bot commented Dec 10, 2021

👋 Hello @S7eezy, thank you for your interest in YOLOv5 🚀! Please visit our ⭐️ Tutorials to get started, where you can find quickstart guides for simple tasks like Custom Data Training all the way to advanced concepts like Hyperparameter Evolution.

If this is a 🐛 Bug Report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

If this is a custom training ❓ Question, please provide as much information as possible, including dataset images, training logs, screenshots, and a public link to online W&B logging if available.

For business inquiries or professional support requests please visit https://ultralytics.com or email Glenn Jocher at [email protected].

Requirements

Python>=3.6.0 with all requirements.txt installed including PyTorch>=1.7. To get started:

$ git clone https://github.com/ultralytics/yolov5
$ cd yolov5
$ pip install -r requirements.txt

Environments

YOLOv5 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):

Status

CI CPU testing

If this badge is green, all YOLOv5 GitHub Actions Continuous Integration (CI) tests are currently passing. CI tests verify correct operation of YOLOv5 training (train.py), validation (val.py), inference (detect.py) and export (export.py) on MacOS, Windows, and Ubuntu every 24 hours and on every commit.

@glenn-jocher
Copy link
Member

glenn-jocher commented Dec 12, 2021

@S7eezy good news 😃! Your original issue may now be fixed ✅ in PR #5948 by @d57montes. To receive this update:

  • Gitgit pull from within your yolov5/ directory or git clone https://github.com/ultralytics/yolov5 again
  • PyTorch Hub – Force-reload model = torch.hub.load('ultralytics/yolov5', 'yolov5s', force_reload=True)
  • Notebooks – View updated notebooks Open In Colab Open In Kaggle
  • Dockersudo docker pull ultralytics/yolov5:latest to update your image Docker Pulls

Thank you for spotting this issue and informing us of the problem. Please let us know if this update resolves the issue for you, and feel free to inform us of any other issues you discover or feature requests that come to mind. Happy trainings with YOLOv5 🚀!

@glenn-jocher
Copy link
Member

glenn-jocher commented Dec 12, 2021

@S7eezy BTW for python workflows you may want to use YOLOv5 PyTorch Hub inference rather than calling detect.py. See PyTorch Hub tutorial for details:

YOLOv5 Tutorials

Good luck 🍀 and let us know if you have any other questions!

@mohammad69h94
Copy link

mohammad69h94 commented Dec 18, 2021

@S7eezy good news 😃! Your original issue may now be fixed ✅ in PR #5948 by @d57montes. To receive this update:

  • Gitgit pull from within your yolov5/ directory or git clone https://github.com/ultralytics/yolov5 again
  • PyTorch Hub – Force-reload model = torch.hub.load('ultralytics/yolov5', 'yolov5s', force_reload=True)
  • Notebooks – View updated notebooks Open In Colab Open In Kaggle
  • Dockersudo docker pull ultralytics/yolov5:latest to update your image Docker Pulls

Thank you for spotting this issue and informing us of the problem. Please let us know if this update resolves the issue for you, and feel free to inform us of any other issues you discover or feature requests that come to mind. Happy trainings with YOLOv5 🚀!

Hi. I have updated yolov5, But I have this issue still:

My code:
detect.run(source='licensePlate/img2.jpg', weights='licensePlate/runs/train/licensePlateLocModel_yolov5s/weights/best.onnx')

following Error is:
model.warmup(imgsz=(1, 3, *imgsz), half=half) # warmup
TypeError: 'int' object is not iterable

@glenn-jocher
Copy link
Member

@mohammad69h94 your code is out of date, update your code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants