我运行了一个关于 tf.sample_distorted_bounding_box()的简单代码:
import tensorflow as tf
import os
file_content = tf.read_file('download.jpg')
image = tf.image.decode_jpeg(file_content)
image = tf.expand_dims(image, 0)
float_image = tf.image.convert_image_dtype(image, dtype=tf.float32)
example_img = tf.squeeze(float_image, 0)
begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
tf.shape(example_img),
min_object_covered=0.1,
use_image_if_no_bounding_boxes = True)
但是我得到了错误:
use_image_if_no_bounding_boxes = True)
TypeError: sample_distorted_bounding_box() takes at least 2 arguments (3 given)
我使用的是ubuntu16.04 TF1.5
答案 0 :(得分:0)
tensorflow
source code来自sample_distorted_bounding_box
方法的签名
def sample_distorted_bounding_box(image_size,
bounding_boxes,
seed=None,
seed2=None,
min_object_covered=0.1,
aspect_ratio_range=None,
area_range=None,
max_attempts=None,
use_image_if_no_bounding_boxes=None,
name=None):
此处image_size
和bounding_boxes
都是您在函数调用期间必须提供的位置参数。但是从你的代码中你只传递image_size
。(即函数调用中缺少bounding_boxes
)。这就是你得到TypeError
的原因。
注意:如果您使用python3
,您将获得以下TypeError
(而不是问题中发布的TypeError
),这本身就是自解释的
TypeError: sample_distorted_bounding_box() missing 1 required positional argument: 'bounding_boxes'