thtrieu / darkflow

Translate darknet to tensorflow. Load trained weights, retrain/fine-tune using tensorflow, export constant graph def to mobile devices
GNU General Public License v3.0
6.13k stars 2.08k forks source link

Layer [yolo] not implemented (yolov3-tiny.cfg) #884

Open leekwunfung817 opened 6 years ago

leekwunfung817 commented 6 years ago

Python:

from darkflow.net.build import TFNet
import cv2
import Z_folder_scann
import time

options = {"model": "cfg/yolov3-tiny.cfg", "load": "tiny-yolov3_51200.weights", "threshold": 0.1}
tfnet = TFNet(options)

Log:

C:\ProgramData\Anaconda3.5.2.0\python.exe C:/Users/leekw/PycharmProjects/cpos_darkflow_application/T_Car_positioning.py
C:\ProgramData\Anaconda3.5.2.0\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
C:\ProgramData\Anaconda3.5.2.0\lib\site-packages\darkflow\dark\darknet.py:54: UserWarning: ./cfg/yolov3-tiny.cfg not found, use D:\MachineLearning\darknet\alexey_darknet\darknet-master\build\darknet\x64\cfg\yolov3-tiny.cfg instead
D:\MachineLearning\darknet\alexey_darknet\darknet-master\build\darknet\x64\cpos\cfg\yolov3-tiny.cfg
  cfg_path, FLAGS.model))
D:\MachineLearning\darknet\alexey_darknet\darknet-master\build\darknet\x64\tiny-yolov3_51200.weights
Layer [yolo] not implemented
Parsing D:\MachineLearning\darknet\alexey_darknet\darknet-master\build\darknet\x64\cfg\yolov3-tiny.cfg
Process finished with exit code 1

I have [yolo] layer


[net]
# Testing
# batch=1
# subdivisions=1
# Training
batch=64
subdivisions=8
width=224
height=224
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=.1

learning_rate=0.001
# burn_in=1000
max_batches = 500200
policy=steps
steps=400000,450000
scales=.1,.1

[convolutional]
batch_normalize=1
filters=16
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=1

[convolutional]
batch_normalize=1
filters=1024
size=3
stride=1
pad=1
activation=leaky

###########

[convolutional]
batch_normalize=1
filters=21
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=21
size=3
stride=1
pad=1
activation=leaky

[convolutional]
size=1
stride=1
pad=1
filters=21
activation=linear

[yolo]
mask = 3,4,5
anchors = 10,14,  23,27,  37,58,  81,82,  135,169,  344,319
classes=2
num=6
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1

[route]
layers = -4

[convolutional]
batch_normalize=1
filters=21
size=1
stride=1
pad=1
activation=leaky

[upsample]
stride=2

[route]
layers = -1, 8

[convolutional]
batch_normalize=1
filters=21
size=3
stride=1
pad=1
activation=leaky

[convolutional]
size=1
stride=1
pad=1
filters=21
activation=linear

[yolo]
mask = 0,1,2
anchors = 10,14,  23,27,  37,58,  81,82,  135,169,  344,319
classes=2
num=6
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
doyouknowmarc commented 6 years ago

facing the same problem (?) after following the steps described here: https://keponk.wordpress.com/2017/12/07/siraj-darkflow/ and then trying to use the following command with yolov3

flow --model cfg/yolov3-tiny.cfg --load bin/yolov3-tiny.weights

results in: Parsing ./cfg/yolov3-tiny.cfg Layer [yolo] not implemented

ruc98 commented 6 years ago

Looks like darkflow has no support for yolov3-tiny yet. Try previous versions of yolo.

psotoarenas commented 6 years ago

I don't think Yolov3 is supported in darkflow. Could be this a future feature @thtrieu?

zrobotparking commented 5 years ago

Hoping for support yolov3-tiny !!

dreamibor commented 5 years ago

This repo can convert YOLOv3 from darknet to TensorFlow: https://github.com/mystic123/tensorflow-yolo-v3

sjain-stanford commented 5 years ago

For those wanting to convert Yolo-v3 from Darknet to TensorFlow:

Yolo-v3 support was recently added to DW2TF (see this PR).

Worth noting that unlike Darkflow which is also a runtime env for training/inference, DW2TF can only convert a Darknet model & weights to TensorFlow. Running training/inference on it would then be up to the user.

JigyasaK commented 5 years ago

I am getting the following error:

Layer [shortcut] not implemented.

Did anyone solve this issue yet?

sjain-stanford commented 5 years ago

@JigyasaK This layer is implemented in DW2TF in case you want to give that a try.

azainab commented 5 years ago

I have the same error.. Any help?

Layer [yolo] not implemented