Darkflow: cy_yolo_findboxes๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 04์›” 16์ผ  ยท  38์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: thtrieu/darkflow

๋‚ด๊ฐ€ ๋ฐ๋ชจ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ด๊ฒƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค

darkflow/net/yolo/test.py", 6ํ–‰, in
cython_utils.cy_yolo_findboxes์—์„œ yolo_box_constructor ๊ฐ€์ ธ์˜ค๊ธฐ

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ cython ๋ชจ๋“ˆ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๊นŒ?

cd ./cython_utils
python3 setup.py build_ext --inplace
cd ..

๋ชจ๋“  38 ๋Œ“๊ธ€

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ cython ๋ชจ๋“ˆ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๊นŒ?

cd ./cython_utils
python3 setup.py build_ext --inplace
cd ..

์ด๊ฒƒ์€ ํŒŒ์ด์ฌ 3์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๊นŒ? ๋ˆ„๊ตฐ๊ฐ€ ํŒŒ์ด์ฌ 2.7์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋งํ•œ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
https://github.com/thtrieu/darkflow/issues/18
python2.7.Great ํฌํŠธ์—์„œ ์ด darkflow๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? python3๊ณผ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ตœ์ ์˜ ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐํ•˜์‹  ๋ถ„ ๊ณ„์‹ ๊ฐ€์š”? ๋‘ ๋Œ€์˜ PC์—์„œ ํ•ด๋ณด๊ณ  cython ๋ชจ๋“ˆ์„ ๊ตฌ์ถ•ํ•ด ๋ณด์•˜์ง€๋งŒ ๋˜ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

@lesthad666
๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค๋ฉด ์ง€๊ธˆ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์„ ๋•Œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋‚ด ์ƒํ™ฉ๊ณผ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค.
@abagshaw ๊ฐ€ ๋งํ–ˆ๋“ฏ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด cython ๋ชจ๋“ˆ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.
`
cd ./cython_utils

python3 setup.py build_ext --inplace

CD ..
`
๊ทธ๋Ÿฐ ๋‹ค์Œ "flow" ํŒŒ์ผ์— ์ฃผ์˜ํ•˜๊ณ  ์ด ํŒŒ์ผ์„ ์—ด๊ณ  "#! /usr/bin/env python"์„ "#! /usr/bin/env python3"์œผ๋กœ ์ˆ˜์ •ํ•˜๋ฉด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

python3์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ์—ฌ๊ธฐ์—์„œ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ python3์—๋„ tensorflow ๋ฐ opencv-python์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•ฝ๊ฐ„์˜ ์ˆ˜์ • opencv-python ์€ ๋ชจ๋ฐฉ์œผ๋กœ ์ธํ•ด ์นด๋ฉ”๋ผ ์ž…๋ ฅ์„ ์–ป์œผ๋ ค๊ณ  ํ•  ๋•Œ ๊ฒฐ๊ตญ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
์ œ ๊ฒฝ์šฐ์—๋Š” darkflow/net/yolo/test.py ๋ผ์ธ 7์— import pyximport; pyximport.install() ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‚ด ํ•ด๊ฒฐ์ฑ…์€ cy_yolo_findboxes.pyx๋ฅผ ์ง์ ‘ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ•  ๋•Œ ๋‚˜์—๊ฒŒ ์ผ์–ด๋‚œ๋‹ค.

git clone https://github.com/thtrieu/darkflow.git
cd darkflow
pip install .

๊ทธ๋Ÿฐ ๋‹ค์Œ

./flow3 --model bin/yolo.cfg --load bin/yolo.weights --demo samples/video_1.avi --gpu 0.5 --saveVideo
Traceback (most recent call last):
  File "./yolo", line 3, in <module>
    from darkflow.net.build import TFNet
  File "/darkflow/darkflow/darkflow/net/build.py", line 7, in <module>
    from .framework import create_framework
  File "/darkflow/darkflow/darkflow/net/framework.py", line 1, in <module>
    from . import yolo
  File "/darkflow/darkflow/darkflow/net/yolo/__init__.py", line 2, in <module>
    from . import test
  File "/darkflow/darkflow/darkflow/net/yolo/test.py", line 6, in <module>
    from darkflow.cython_utils.cy_yolo_findboxes import yolo_box_constructor
ImportError: No module named 'darkflow.cython_utils.cy_yolo_findboxes'

์—ฌ๊ธฐ์„œ flow3 ์—๋Š” ์ˆ˜์ •๋œ shebang #! /usr/bin/env python3 ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ Cython ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๋‹ค์Œ์œผ๋กœ ๋๋‚˜๋Š” ๊ฒƒ์€ ์ „ํ˜€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

cd darkflow/
python3 setup.py build_ext --inplace
Traceback (most recent call last):
  File "setup.py", line 3, in <module>
    from Cython.Build import cythonize
ImportError: No module named 'Cython'

ํ„ฐ๋ฏธ๋„์— ๋‹ค์Œ์„ ์ž…๋ ฅํ•˜์—ฌ cython์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

sudo apt-get ์„ค์น˜ cython3

pip / pip3 ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Setup.py๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

git clone https://github.com/thtrieu/darkflow.git
cd darkflow
python3.5 setup.py build_ext --inplace

์ด๊ฒƒ์€ ./flow --h์˜ ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

$ ./flow
Traceback (most recent call last):
  File "./flow", line 4, in <module>
    from darkflow.cli import cliHandler
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/cli.py", line 3, in <module>
    from darkflow.net.build import TFNet
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/build.py", line 7, in <module>
    from .framework import create_framework
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/framework.py", line 1, in <module>
    from . import yolo
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/yolo/__init__.py", line 2, in <module>
    from . import predict
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/yolo/predict.py", line 6, in <module>
    from darkflow.cython_utils.cy_yolo_findboxes import yolo_box_constructor
ImportError: No module named cy_yolo_findboxes

์ด๊ฒƒ์€ "ํ๋ฆ„"์˜ ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

$ flow --h
No command 'flow' found, did you mean:
 Command 'flog' from package 'flog' (universe)
 Command 'cflow' from package 'cflow' (universe)
 Command 'flow6' from package 'ipv6toolkit' (universe)
flow: command not found

@benn94 ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ ImportError: No module named cy_yolo_findboxes ๋Š” ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ๋ฏฟ๋Š” ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐœ PR์ด ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๋‹ค(https://github.com/thtrieu/darkflow/pull/273) - ๋ฌธ์ œ๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  darkflow ์—์„œ ์ง์ ‘ ํŒŒ์ƒ๋˜๋Š” ๋ชจ๋“  ๊ฐ€์ ธ์˜ค๊ธฐ ๊ฒฝ๋กœ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ƒ๋Œ€ ๊ฒฝ๋กœ. darkflow ๊ฐ€ pip ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์—ญ์ ์œผ๋กœ ์„ค์น˜๋œ ๊ฒฝ์šฐ( ์—ฌ๊ธฐ ์— ์„ค๋ช…๋จ) ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ ์ „์—ญ์ ์œผ๋กœ ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. PR์€ ์ด๋Ÿฌํ•œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์ƒ๋Œ€์ ์œผ๋กœ ๋งŒ๋“ค๋ฏ€๋กœ darkflow ๊ฐ€ ์ „์—ญ์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ผ์‹œ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ํ•ด๋‹น PR์ด ๋ณ‘ํ•ฉ๋  ๋•Œ๊นŒ์ง€ pip ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜๋ฅผ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค.

๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ darkflow ์ „์—ญ์œผ๋กœ ์„ค์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด flow ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. Cython ํ™•์žฅ์„ ๋นŒ๋“œํ•˜๋ฉด pip install . darkflow ๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ flow ์— ์ „์—ญ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ •์ƒ์ž…๋‹ˆ๋‹ค. darkflow ํด๋”์— ์žˆ์„ ๋•Œ ./flow ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@abagshaw ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ํŒŒ์ด์ฌ ๋ฒ„์ „ ๋ฌธ์ œ๋ผ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ํŒŒ์ด์ฌ ๋ฒ„์ „์„ ์ง€์ •ํ•˜์—ฌ flow ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ./flow ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋Œ€์‹  flow ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

python3.5 flow --h

@benn94 ์™€ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Traceback (most recent call last):
  File "./flow", line 4, in <module>
    from darkflow.cli import cliHandler
  File "/home/kadia/Documents/darkflow-master/darkflow/cli.py", line 3, in <module>
    from .net.build import TFNet
  File "/home/kadia/Documents/darkflow-master/darkflow/net/build.py", line 7, in <module>
    from .framework import create_framework
  File "/home/kadia/Documents/darkflow-master/darkflow/net/framework.py", line 1, in <module>
    from . import yolo
  File "/home/kadia/Documents/darkflow-master/darkflow/net/yolo/__init__.py", line 2, in <module>
    from . import predict
  File "/home/kadia/Documents/darkflow-master/darkflow/net/yolo/predict.py", line 7, in <module>
    from ...cython_utils.cy_yolo_findboxes import yolo_box_constructor
ImportError: No module named cy_yolo_findboxes

"๋‹ค๋ฅธ ํŒŒ์ด์ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ darkflow ์‚ฌ์šฉ"์—์„œ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ ImportError: No module named 'darkflow.cython_utils.cy_yolo_findboxes' ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
์ €๋Š” Anaconda ํ™˜๊ฒฝ์—์„œ python 3์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ pip install ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ darkflow๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ œ์•ˆ๋œ ์†”๋ฃจ์…˜์„ ์‹œ๋„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค: python3 setup.py build_ext --inplace ํ•˜์ง€๋งŒ cython_utils setup.py ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ๋†“์น˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

@stesalati ์™€ ๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. cython_utils setup.py ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

Windows 10์—์„œ "python flow --model cfg / yolo.cfg --load bin / yolo.weights --demo E: \ image \ photos \ abrilss.wmv --gpu 1.0"์„ ์‹คํ–‰ํ•˜๋ฉด ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
"ImportError: ' darkflow.cython_utils.cy_yolo_findboxes'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค. "
setup.py๊ฐ€ cython_utils์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

@clitenmestra ๋Š” darkflow ๋””๋ ‰ํ† ๋ฆฌ์—์„œ python setup.py build_ext ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. cython_utils๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

(tensorflow) F:\tut-tf\darkflow>python setup.py build_ext
running build_ext
error: [WinError 2] El sistema no puede encontrar el archivo especificado``

build_ext ๋ผ๋Š” ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์–ด๋””?

@clitenmestra cython ์„ ์„ค์น˜ํ•˜์…จ์Šต๋‹ˆ๊นŒ?

์˜ˆ, cython์ด ์žˆ๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

import cython
cython.__version__

'0.25.2'

@clitenmestra

(ML) E:\AkashJ\projects\darkflow - Copy>python setup.py build_ext --inplace
running build_ext
copying build\lib.win-amd64-3.5\darkflow\cython_utils\nms.cp35-win_amd64.pyd -> darkflow\cython_utils
copying build\lib.win-amd64-3.5\darkflow\cython_utils\cy_yolo2_findboxes.cp35-win_amd64.pyd -> darkflow\cython_utils
copying build\lib.win-amd64-3.5\darkflow\cython_utils\cy_yolo_findboxes.cp35-win_amd64.pyd -> darkflow\cython_utils

์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. pip ๋˜๋Š” conda ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ cython, numpy, mkl์„ ์„ค์น˜ํ•œ ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
๋‚ด ์‹œ์Šคํ…œ์— ์ด๋ฏธ cython_utils๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— --inplace ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. --inplace ๋Š” ํ•ด๋‹น ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋งŒ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๋นŒ๋“œํ•˜๋Š” ๊ฒฝ์šฐ --inplace ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜๋ฅผ ๋ฒˆ์—ญํ•˜๋ฉด The system can not find the specified file. ๋ผ๊ณ  ๋‚˜์™€ ์žˆ์œผ๋ฏ€๋กœ ์–ธ๊ธ‰ํ•œ ๋Œ€๋กœ there is not a file named build_ext ๋ฅผ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

--inplace๋ฅผ ์‚ฌ์šฉํ•œ ๋™์ผํ•œ ๋‹ต๋ณ€

(tensorflow) F: \ tut-tf \ darkflow> python setup.py build_ext --inplace
running build_ext
error: [WinError 2] The system can not find the specified file

๋‚˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํŒจํ‚ค์ง€ ์„ค์น˜์— aconda๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์‘๋‹ต์—์„œ 3๊ฐœ์˜ ํŒŒ์ผ ์‚ฌ๋ณธ์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์„ ์ฝ์€ ํ›„, ์ €๋Š” ์ œ ์ปดํ“จํ„ฐ์˜ ANACONDA site_packages darkflow์—์„œ ํ•ด๋‹น ํŒŒ์ผ์„ ์ฐพ์•˜๊ณ  ์ œ ํ”„๋กœ์ ํŠธ์˜ cython_utils์— ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ํŒŒ์ผ ์œ„์น˜๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๋‚ด ์ž˜๋ชป๋œ ์„ค์น˜์˜ ์›์ธ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋” ๊นŠ์ด ๋“ค์–ด๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ด€์‹ฌ์„ ๊ฐ€์ ธ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋„ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚ด tensorflow๊ฐ€ python2.7์˜ virtualenv์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

virtualenv๋ฅผ python3์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
virtualenv๋กœ ํ…์„œํ”Œ๋กœ ์„ค์น˜ํ•˜๊ธฐ

Pycharm์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์—ฌ์ „ํžˆ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ ๋‚ด๊ฐ€ ์–ป์€ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ: python3 setup.py build_ext --inplace๋ฅผ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. cy_yolo_findboxes.c ๋ฐ cy_yolo2_findboxes์™€ ๊ฐ™์€ ๋ชจ๋“  ํŒŒ์ผ์€ ๋ชจ๋‘ cython_utils ํด๋” ์•ˆ์— ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
screen shot 2018-01-31 at 11 46 15 pm

liuhantao9์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์ด ์žˆ๊ณ  ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์— sys.path.append๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜์—๊ฒŒ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋Š” python ๋ฒ„์ „ ๋•Œ๋ฌธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. python์„ 3.6์—์„œ 3.5๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

python3 ํ๋ฆ„ --h
์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "ํ๋ฆ„", 4ํ–‰, in
darkflow.cli์—์„œ cliHandler ๊ฐ€์ ธ์˜ค๊ธฐ
ํŒŒ์ผ "/home/kirubel/YOLO_Object_Detection/darkflow/cli.py", 3ํ–‰,
.net.build์—์„œ TFNet ๊ฐ€์ ธ์˜ค๊ธฐ
ํŒŒ์ผ "/home/kirubel/YOLO_Object_Detection/darkflow/net/build.py", 3ํ–‰,
์—์„œ . ์ˆ˜์ž… ๋„์›€๋ง
ํŒŒ์ผ "/home/kirubel/YOLO_Object_Detection/darkflow/net/help.py", 9ํ–‰,
์ˆ˜์ž… cv2
ImportError: 'cv2'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๊ฒƒ์€ python2.7์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๊ทธ๋ฆฌ๊ณ  ์ „ ์„ธ๊ณ„์ ์œผ๋กœ darkflow๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•œ ์ง€์นจ์— ๋Œ€ํ•œ ๋งํฌ๋Š” ์ฃฝ์—ˆ์Šต๋‹ˆ๋‹ค. Darkflow๋ฅผ ์ „์—ญ์ ์œผ๋กœ ์„ค์น˜ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

sudo pip3 install opencv-python
sudo pip3 install tensorflow

cd ๋‹คํฌํ”Œ๋กœ์šฐ ๋งˆ์Šคํ„ฐ
setup.py build_ext --inplace

์™„๋ฃŒ!

๋‚˜๋ฅผ ์œ„ํ•ด ์ด๊ฒƒ์€ darkflow ๋””๋ ‰ํ† ๋ฆฌ ์™ธ๋ถ€์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. python3์€ ๋ฏธ๋ฆฌ ๋นŒ๋“œ๋œ pyx(cython) ๋ชจ๋“ˆ์ด ํฌํ•จ๋œ ๋กœ์ปฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

darkflow ๋””๋ ‰ํ† ๋ฆฌ์—์„œ:

python3 -c "darkflow.net.build์—์„œ TFNet ๊ฐ€์ ธ์˜ค๊ธฐ"
ModuleNotFoundError: 'darkflow.cython_utils.cy_yolo_findboxes'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

CD ../
python3 -c "darkflow.net.build์—์„œ TFNet ๊ฐ€์ ธ์˜ค๊ธฐ"
[์„ฑ๊ณต]

๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฌธ์ œ๋Š” ํ™•์‹คํžˆ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ €์—๊ฒŒ ํ•ด๊ฒฐ์ฑ…์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ "flow"๋ฅผ ๋ณด์‹ญ์‹œ์˜ค(ํŽธ์ง‘). ์ฒซ ๋ฒˆ์งธ ์ค„์€ "python"์„ ํ˜ธ์ถœํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ๊ธฐ๋ณธ ๊ตฌ์„ฑ์—์„œ "python"์€ "python2"๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋ƒฅ "python" ๋Œ€์‹  "python3"์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๊ณ  ๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

jupyter ๋…ธํŠธ๋ถ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์•„๋‚˜์ฝ˜๋‹ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋กœ ์ „ํ™˜ํ•˜๊ณ  ๋‹ค์Œ์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. pip uninstall darkflow ๊ทธ๋Ÿผ

  2. pip install -e .

๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰