Giter VIP home page Giter VIP logo

sdc-vehicle-detection's People

Contributors

balancap 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdc-vehicle-detection's Issues

num_classes=8 creates off-by-one error with number of predictions

Thanks for this implementation. In ssd_common.py using default params we have num_classes=8; this is consistent with what is in datasets/kitti*. I understand why no_annotations_label=9, and think I see that these labels > num_classes are handled in tf_bboxes_filter_labels. However, in ssd_common.py we have:

# Predictions, removing first void class.
sub_predictions = predictions_layer[:, :, 1:]
idxes = np.where(sub_predictions > threshold)
classes = idxes[-1]+1
scores = sub_predictions[idxes]

Does this cause an off-by-one error? I understand that the 0th index represents 'none': (0, 'Background'), but in this case should we have specified num_classes=9? Otherwise we do not consider the 'misc' class for KITTI ('Misc': (8, 'Misc'), since label < num_classes is false in this case)?

Given we have num_cls_pred = num_anchors * num_classes predictions (see ssd_vgg_300.py), this means that if num_classes=8 then subpredictions would only consider 7 classes. Is this correct?

ValueError: Tried to convert 'input' to a tensor and failed. Error: Dimension 1 in both shapes must be equal, but are 3 and 1

Command ran:

    python eval_image_classifier.py --checkpoint_path=logs/ssd_300_kitti/ --eval_dir=logs/ssd_300_kitti/eval/ --dataset_name=kitti --dataset_split_name=test  --model_name=ssd_300_vgg --batch_size=1 --max_num_batches=500 --dataset_dir=/home/tfrecords/

Error:

Traceback (most recent call last):
  File "eval_image_classifier.py", line 197, in <module>
    tf.app.run()
  File "/usr/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "check_classifier.py", line 153, in main
    logits = tf.squeeze(logits)
  File "/usr/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 2394, in squeeze
    return gen_array_ops._squeeze(input, axis, name)
  File "/usr/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 5202, in _squeeze
    "Squeeze", input=input, squeeze_dims=squeeze_dims, name=name)
  File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 528, in _apply_op_helper
    (input_name, err))
ValueError: Tried to convert 'input' to a tensor and failed. Error: Dimension 1 in both shapes must be equal, but are 3 and 1
	From merging shape 4 with other shapes. for 'Squeeze/packed' (op: 'Pack') with input shapes: [1,38,38,4,8], [1,19,19,6,8], [1,10,10,6,8], [1,5,5,6,8], [1,3,3,4,8], [1,1,1,4,8].

Code for eval_image_classifier.py:

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import math
import six

import tensorflow as tf

from datasets import dataset_factory
from nets import nets_factory
from preprocessing import preprocessing_factory

slim = tf.contrib.slim

tf.app.flags.DEFINE_integer(
    'batch_size', 100, 'The number of samples in each batch.')

tf.app.flags.DEFINE_integer(
    'max_num_batches', None,
    'Max number of batches to evaluate by default use all.')

tf.app.flags.DEFINE_string(
    'master', '', 'The address of the TensorFlow master to use.')

tf.app.flags.DEFINE_string(
    'checkpoint_path', '/tmp/tfmodel/',
    'The directory where the model was written to or an absolute path to a '
    'checkpoint file.')

tf.app.flags.DEFINE_string(
    'eval_dir', '/tmp/tfmodel/', 'Directory where the results are saved to.')

tf.app.flags.DEFINE_integer(
    'num_preprocessing_threads', 4,
    'The number of threads used to create the batches.')

tf.app.flags.DEFINE_string(
    'dataset_name', 'imagenet', 'The name of the dataset to load.')

tf.app.flags.DEFINE_string(
    'dataset_split_name', 'test', 'The name of the train/test split.')

tf.app.flags.DEFINE_string(
    'dataset_dir', None, 'The directory where the dataset files are stored.')

tf.app.flags.DEFINE_integer(
    'labels_offset', 0,
    'An offset for the labels in the dataset. This flag is primarily used to '
    'evaluate the VGG and ResNet architectures which do not use a background '
    'class for the ImageNet dataset.')

tf.app.flags.DEFINE_string(
    'model_name', 'inception_v3', 'The name of the architecture to evaluate.')

tf.app.flags.DEFINE_string(
    'preprocessing_name', None, 'The name of the preprocessing to use. If left '
    'as `None`, then the model_name flag is used.')

tf.app.flags.DEFINE_float(
    'moving_average_decay', None,
    'The decay to use for the moving average.'
    'If left as None, then moving averages are not used.')

tf.app.flags.DEFINE_integer(
    'eval_image_size', None, 'Eval image size')

FLAGS = tf.app.flags.FLAGS


def main(_):
    if not FLAGS.dataset_dir:
	raise ValueError('You must supply the dataset directory with --dataset_dir')

    tf.logging.set_verbosity(tf.logging.INFO)
    with tf.Graph().as_default():
	tf_global_step = tf.train.get_or_create_global_step()

	######################
	# Select the dataset #
	######################
	dataset = dataset_factory.get_dataset(
	    FLAGS.dataset_name, FLAGS.dataset_split_name, FLAGS.dataset_dir)

	####################
	# Select the model #
	####################
	network_fn = nets_factory.get_network_fn(
	    FLAGS.model_name,
	    num_classes=(dataset.num_classes - FLAGS.labels_offset),
	    is_training=False)

	##############################################################
	# Create a dataset provider that loads data from the dataset #
	##############################################################
	provider = slim.dataset_data_provider.DatasetDataProvider(
	    dataset,
	    shuffle=False,
	    common_queue_capacity=2 * FLAGS.batch_size,
	    common_queue_min=FLAGS.batch_size)
	[image, label] = provider.get(['image', 'object/label'])
	label -= FLAGS.labels_offset

	#####################################
	# Select the preprocessing function #
	#####################################
	preprocessing_name = FLAGS.preprocessing_name or FLAGS.model_name
	image_preprocessing_fn = preprocessing_factory.get_preprocessing(
	    preprocessing_name,
	    is_training=False)

	eval_image_size = FLAGS.eval_image_size or network_fn.default_image_size

	image, label, _, _ = image_preprocessing_fn(image, label, None, eval_image_size)

	images, labels = tf.train.batch([image, label], batch_size=FLAGS.batch_size, num_threads=FLAGS.num_preprocessing_threads, capacity=5 * FLAGS.batch_size, dynamic_pad=True)
	####################
	# Define the model #
	####################
	logits, _, _, _ = network_fn(images)

	if FLAGS.moving_average_decay:
	    variable_averages = tf.train.ExponentialMovingAverage(
	        FLAGS.moving_average_decay, tf_global_step)
	    variables_to_restore = variable_averages.variables_to_restore(
	        slim.get_model_variables())
	    variables_to_restore[tf_global_step.op.name] = tf_global_step
	else:
	    variables_to_restore = slim.get_variables_to_restore()


	logits = tf.squeeze(logits)
	predictions = tf.argmax(logits, 1)
	labels = tf.squeeze(labels)

	#reshape(labels, [labels.get_shape()[0], 1])
	# Define the metrics:
	names_to_values, names_to_updates = slim.metrics.aggregate_metric_map({
	    'Accuracy': slim.metrics.streaming_accuracy(predictions, labels),
	    'Recall@5': slim.metrics.streaming_recall_at_k(
	            logits, labels, 5),
	})

	# Print the summaries to screen.
	for name, value in six.iteritems(names_to_values):
	    summary_name = 'eval/%s' % name
	    op = tf.summary.scalar(summary_name, value, collections=[])
	    op = tf.Print(op, [value], summary_name)
	    tf.add_to_collection(tf.GraphKeys.SUMMARIES, op)

	# TODO(sguada) use num_epochs=1
	if FLAGS.max_num_batches:
	    num_batches = FLAGS.max_num_batches
	else:
	    # This ensures that we make a single pass over all of the data.
	    num_batches = math.ceil(dataset.num_samples / float(FLAGS.batch_size))

	if tf.gfile.IsDirectory(FLAGS.checkpoint_path):
	    checkpoint_path = tf.train.latest_checkpoint(FLAGS.checkpoint_path)
	else:
	    checkpoint_path = FLAGS.checkpoint_path

	# checkpoint_path='logs/model.ckpt-220025.data-00000-of-00001'
	tf.logging.info('Evaluating %s' % checkpoint_path)

	slim.evaluation.evaluate_once(
	    master=FLAGS.master,
	    checkpoint_path=checkpoint_path,
	    logdir=FLAGS.eval_dir,
	    num_evals=num_batches,
	    eval_op=list(names_to_updates.values()),
	    variables_to_restore=variables_to_restore)


if __name__ == '__main__':
    tf.app.run()

INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors_impl.NotFoundError'>, tfrecords/kitti_train.tfrecord

when I run this command:
jupyter notebook notebooks/ssd_kitti_tests.ipynb

I met a problem when I run the following code:

`# with queues.QueueRunners(sess):

Start populating queues.

coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)`

and the error information is:

INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors_impl.NotFoundError'>, tfrecords/kitti_train.tfrecord [[Node: parallel_read/ReaderReadV2 = ReaderReadV2[_device="/job:localhost/replica:0/task:0/cpu:0"](parallel_read/TFRecordReaderV2, parallel_read/filenames)]]

Can anyone help me?

Version of Python and Tensorflow? Issue with tf.select

Hello! I am attempting to train the network using the KITTI dataset. I'm experiencing AttributeError: module 'tensorflow' has no attribute 'select'. See the full stacktrace below. I think this might be related to my dev environment. I am using a conda virtual environment with Anaconda python 3.6.1 and Tensorflow 1.0.1 with GPU support. What versions of python and TensorFlow do you use in your implementation? Thank you.

  File "train_ssd_network.py", line 540, in <module>
    tf.app.run()
  File "/home/blanca/miniconda2/envs/python3/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 44, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "train_ssd_network.py", line 402, in main
    ssd_net.bboxes_encode(glabels, gbboxes, ssd_anchors)
  File "/home/blanca/ml-experiments/SDC-Vehicle-Detection/nets/ssd_vgg_300.py", line 174, in bboxes_encode
    scope=scope)
  File "/home/blanca/ml-experiments/SDC-Vehicle-Detection/nets/ssd_common.py", line 191, in tf_ssd_bboxes_encode
    prior_scaling, dtype)
  File "/home/blanca/ml-experiments/SDC-Vehicle-Detection/nets/ssd_common.py", line 142, in tf_ssd_bboxes_encode_layer
    feat_ymax, feat_xmax])
  File "/home/blanca/miniconda2/envs/python3/lib/python3.6/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2605, in while_loop
    result = context.BuildLoop(cond, body, loop_vars, shape_invariants)
  File "/home/blanca/miniconda2/envs/python3/lib/python3.6/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2438, in BuildLoop
    pred, body, original_loop_vars, loop_vars, shape_invariants)
  File "/home/blanca/miniconda2/envs/python3/lib/python3.6/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2388, in _BuildLoop
    body_result = body(*packed_vars_for_body)
  File "/home/blanca/ml-experiments/SDC-Vehicle-Detection/nets/ssd_common.py", line 119, in body
    feat_scores = tf.select(mask, jaccard, feat_scores)
AttributeError: module 'tensorflow' has no attribute 'select'

modify base net (VGG) of ssd

Hi .
Q1: i want to modify the base net of ssd for my purpose . is this possible for your code ? i want to examine iception v1 , densenet , mobilenet , ... instead of vgg . is this possible ? what do i do ? where do i define your base model ?
Q2 : dose your ssd model different from the original model ?
Q3: what's your os , cuda , cudnn , tensorflow , GTX ?
Q4: if i want to fine-tune this code for detection Pedestrian , car , cyclist , what do i do ?
please help me . thanks.

Fail to detect car on KITTI images

Hi, Balancap,

It is a good project. The detection results on the provided test images are good.

But, when I test it on KITTI dataset, the detection results are poor. Most of the cars are missed.

Is there something wrong?

Dataset directory tree

Plz anyone let me know about what should be the directory tree /path. my project is on desktop. when I execute tf_convert_data.py it does not take dataset from the given path

speed

I tried SSD detector with VGG-16 base network (pretrained on voc dataset) and add dlib tracker. but it is too slow to the extent that it can not be used for real time apps. almost 1fps....... how can I run it fast?

untitled

How to evaluate (inference) with ssd_300_vgg base trained model

Hi,
I followed your instruction, and trained with kitti dataset and ssd_300_vgg base.
I could run training, but cannot run evaluation.

I tried evaluation with eval_image_classifier:
python eval_image_classifier.py --alsologtostderr --checkpoint_path=checkpoints\ssd_300_vgg.ckpt --dataset_dir=datasets\kitti --dataset_name=kitti --labels_offset=1 --dataset_split_name=train --model_name=ssd_300_vgg

But, it shows this error:
ValueError: Shape must be rank 2 but is rank 0 for 'ssd_preprocessing_train/concat' (op: 'ConcatV2') with input shapes: [1,4], [], [].

Could you please tell me how to solve it?
Please show me evaluation or inference command with trained ssd model.

Thank you

TypeError: __init__() got multiple values for keyword argument 'dtype'

SSD network construction.

reuse = True if 'ssd' in locals() else None
ssd = ssd_vgg_300.SSDNet(params)
with slim.arg_scope(ssd.arg_scope(weight_decay=0.0005)):
predictions, localisations, logits, end_points = ssd.net(image_4d, is_training=False, reuse=reuse)


When running the above command line on the ipython notebook, the following error occurs.
What should I fix?


TypeError Traceback (most recent call last)
in ()
13 ssd = ssd_vgg_300.SSDNet(params)
14 with slim.arg_scope(ssd.arg_scope(weight_decay=0.0005)):
---> 15 predictions, localisations, logits, end_points = ssd.net(image_4d, is_training=False, reuse=reuse)

/home/nwkim/TF-Sample/SDC-Vehicle-Detection/nets/ssd_vgg_300.py in net(self, inputs, is_training, update_feat_shapes, dropout_keep_prob, prediction_fn, reuse, scope)
126 prediction_fn=prediction_fn,
127 reuse=reuse,
--> 128 scope=scope)
129 # Update feature shapes (try at least!)
130 if update_feat_shapes:

/home/nwkim/TF-Sample/SDC-Vehicle-Detection/nets/ssd_vgg_300.py in ssd_net(inputs, num_classes, feat_layers, anchor_sizes, anchor_ratios, normalizations, is_training, dropout_keep_prob, prediction_fn, reuse, scope)
392 with tf.variable_scope(scope, 'ssd_300_vgg', [inputs], reuse=reuse):
393 # Original VGG-16 blocks.
--> 394 net = slim.repeat(inputs, 2, slim.conv2d, 64, [3, 3], scope='conv1')
395 end_points['block1'] = net
396 net = slim.max_pool2d(net, [2, 2], scope='pool1')

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.pyc in repeat(inputs, repetitions, layer, *args, **kwargs)
1718 for i in range(repetitions):
1719 kwargs['scope'] = scope + '_' + str(i+1)
-> 1720 outputs = layer(outputs, *args, **kwargs)
1721 return outputs
1722

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.pyc in func_with_args(*args, **kwargs)
175 current_args = current_scope[key_func].copy()
176 current_args.update(kwargs)
--> 177 return func(*args, **current_args)
178 _add_op(func)
179 setattr(func_with_args, '_key_op', _key_op(func))

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.pyc in convolution(inputs, num_outputs, kernel_size, stride, padding, data_format, rate, activation_fn, normalizer_fn, normalizer_params, weights_initializer, weights_regularizer, biases_initializer, biases_regularizer, reuse, variables_collections, outputs_collections, trainable, scope)
905 _scope=sc,
906 _reuse=reuse)
--> 907 outputs = layer.apply(inputs)
908
909 # Add variables to collections.

/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/base.pyc in apply(self, inputs, **kwargs)
301 Output tensor(s).
302 """
--> 303 return self.call(inputs, **kwargs)
304
305

/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/base.pyc in call(self, inputs, **kwargs)
267 input_shapes = [x.get_shape() for x in input_list]
268 if len(input_shapes) == 1:
--> 269 self.build(input_shapes[0])
270 else:
271 self.build(input_shapes)

/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/convolutional.pyc in build(self, input_shape)
143 regularizer=self.bias_regularizer,
144 trainable=True,
--> 145 dtype=self.dtype)
146 else:
147 self.bias = None

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.pyc in get_variable(name, shape, dtype, initializer, regularizer, trainable, collections, caching_device, partitioner, validate_shape, custom_getter)
986 collections=collections, caching_device=caching_device,
987 partitioner=partitioner, validate_shape=validate_shape,
--> 988 custom_getter=custom_getter)
989 get_variable_or_local_docstring = (
990 """%s

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.pyc in get_variable(self, var_store, name, shape, dtype, initializer, regularizer, trainable, collections, caching_device, partitioner, validate_shape, custom_getter)
888 collections=collections, caching_device=caching_device,
889 partitioner=partitioner, validate_shape=validate_shape,
--> 890 custom_getter=custom_getter)
891
892 def _get_partitioned_variable(self,

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.pyc in get_variable(self, name, shape, dtype, initializer, regularizer, reuse, trainable, collections, caching_device, partitioner, validate_shape, custom_getter)
339 reuse=reuse, trainable=trainable, collections=collections,
340 caching_device=caching_device, partitioner=partitioner,
--> 341 validate_shape=validate_shape)
342 else:
343 return _true_getter(

/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/base.pyc in variable_getter(getter, name, shape, dtype, initializer, regularizer, trainable, **kwargs)
256 name, shape, initializer=initializer, regularizer=regularizer,
257 dtype=dtype, trainable=trainable,
--> 258 variable_getter=functools.partial(getter, **kwargs))
259
260 # Build (if necessary) and call the layer, inside a variable scope.

/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/base.pyc in _add_variable(self, name, shape, dtype, initializer, regularizer, trainable, variable_getter)
206 initializer=initializer,
207 dtype=dtype,
--> 208 trainable=trainable and self.trainable)
209 # TODO(sguada) fix name = variable.op.name
210 if variable in existing_variables:

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.pyc in layer_variable_getter(getter, *args, **kwargs)
1308 getter = functools.partial(current_custom_getter, getter)
1309 kwargs['rename'] = rename
-> 1310 return _model_variable_getter(getter, *args, **kwargs)
1311 return layer_variable_getter
1312

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.pyc in model_variable_getter(getter, name, shape, dtype, initializer, regularizer, trainable, collections, caching_device, partitioner, rename, **)
1297 regularizer=regularizer, collections=collections, trainable=trainable,
1298 caching_device=caching_device, partitioner=partitioner,
-> 1299 custom_getter=getter)
1300
1301

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.pyc in func_with_args(*args, **kwargs)
175 current_args = current_scope[key_func].copy()
176 current_args.update(kwargs)
--> 177 return func(*args, **current_args)
178 _add_op(func)
179 setattr(func_with_args, '_key_op', _key_op(func))

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/variables.pyc in model_variable(name, shape, dtype, initializer, regularizer, trainable, collections, caching_device, device, partitioner, custom_getter)
266 trainable=trainable, collections=collections,
267 caching_device=caching_device, device=device,
--> 268 partitioner=partitioner, custom_getter=custom_getter)
269 return var
270

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.pyc in func_with_args(*args, **kwargs)
175 current_args = current_scope[key_func].copy()
176 current_args.update(kwargs)
--> 177 return func(*args, **current_args)
178 _add_op(func)
179 setattr(func_with_args, '_key_op', _key_op(func))

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/variables.pyc in variable(name, shape, dtype, initializer, regularizer, trainable, collections, caching_device, device, partitioner, custom_getter)
223 collections=collections,
224 caching_device=caching_device,
--> 225 partitioner=partitioner)
226
227

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.pyc in _true_getter(name, shape, dtype, initializer, regularizer, reuse, trainable, collections, caching_device, partitioner, validate_shape)
331 initializer=initializer, regularizer=regularizer, reuse=reuse,
332 trainable=trainable, collections=collections,
--> 333 caching_device=caching_device, validate_shape=validate_shape)
334
335 if custom_getter is not None:

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.pyc in _get_single_variable(self, name, shape, dtype, initializer, regularizer, partition_info, reuse, trainable, collections, caching_device, validate_shape)
682 caching_device=caching_device,
683 dtype=variable_dtype,
--> 684 validate_shape=validate_shape)
685 self._vars[name] = v
686 logging.vlog(1, "Created variable %s with shape %s and init %s", v.name,

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variables.pyc in init(self, initial_value, trainable, collections, validate_shape, caching_device, name, variable_def, dtype, expected_shape, import_scope)
195 name=name,
196 dtype=dtype,
--> 197 expected_shape=expected_shape)
198
199 def str(self):

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variables.pyc in _init_from_args(self, initial_value, trainable, collections, validate_shape, caching_device, name, dtype, expected_shape)
272 with ops.name_scope("Initializer"), ops.device(None):
273 self._initial_value = ops.convert_to_tensor(
--> 274 initial_value(), name="initial_value", dtype=dtype)
275 shape = (self._initial_value.get_shape()
276 if validate_shape else tensor_shape.unknown_shape())

/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.pyc in ()
671 else:
672 init_val = lambda: initializer(
--> 673 shape.as_list(), dtype=dtype, partition_info=partition_info)
674 variable_dtype = dtype.base_dtype
675

TypeError: init() got multiple values for keyword argument 'dtype'

version of tensorflow and python

Hi,Thanks for your excellent implementation !

There are some errors when I run the project,so I want to kown what version of tensorflow and python do you use

global_step/sec =0

i run your code with widerface dataset for face detection. after creating tfrecords and write train command i got this :

INFO: tensorflow: starting Sessions
INFO: tensorflow: starting Queues
INFO: tensorflow: global_step/sec : 0
INFO: tensorflow: global_step/sec : 0
INFO: tensorflow: global_step/sec : 0.0172539
INFO: tensorflow: global_step/sec : 0
INFO: tensorflow: global_step/sec : 0
INFO: tensorflow: global_step/sec : 0.0167292
....
Is there any problem? where is loss? Is the network training wrong?

fine tuning training error

NotFoundError (see above for traceback): Unsuccessful TensorSliceReader constructor: Failed to find any matching files for /home/yuyijie/SSD-Tensorflow/checkpoints/ssd_300_vgg.ckpt
When I use these codes I found this error,there is my file structure below,I don't what is wrong,can you help me ? Thanks a lot.
/home/yuyijie/2018-07-13 10-31-05屏幕截图.png

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.