コード例 #1
0
    train_annotations = batchTrain['label']
    print(train_annotations)
    valid_images = batchTest['image']
    valid_annotations = batchTest['label']
    valid_names = batchTest['image_name']
    valid_height = batchTest['height']
    valid_width = batchTest['width']

is_training = tf.Variable(initial_value=args.is_training,
                          trainable=False,
                          name='train_stat',
                          dtype=tf.bool)

#setting up the network
model = Deeplab_v3(dataset.classes,
                   batch_norm_decay=args.batch_norm_decay,
                   is_training=is_training)
logits = model.forward_pass(train_images)
predicts = tf.argmax(logits, axis=-1, name='predicts')

variables_to_restore = tf.trainable_variables(scope='resnet_v2_50')

# finetune resnet_v2_50的参数(block1到block4)
restorer = tf.train.Saver(variables_to_restore)

cross_entropy = loss(logits,
                     train_annotations,
                     dataset.classes,
                     ignore_label=dataset.ignore_label)
# l2_norm l2正则化
l2_loss = args.weight_decay * tf.add_n(
コード例 #2
0
ファイル: train.py プロジェクト: adnappp/deeplabv3
# 打印以下超参数
for key in args.__dict__:
    if key.find('__') == -1:
        offset = 20 - key.__len__()
        print(key + ' ' * offset, args.__dict__[key])

# 使用那一块显卡
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

data_path_df = pd.read_csv('dataset/path_list.csv')
data_path_df = data_path_df.sample(frac=1)  # 第一次打乱

dataset = DataSet(image_path=data_path_df['image'].values,
                  label_path=data_path_df['label'].values)

model = Deeplab_v3(batch_norm_decay=args.batch_norm_decay)

image = tf.placeholder(tf.float32, [None, 1024, 1024, 3], name='input_x')
label = tf.placeholder(tf.int32, [None, 1024, 1024])
lr = tf.placeholder(tf.float32, )

logits = model.forward_pass(image)
logits_prob = tf.nn.softmax(logits=logits, name='logits_prob')
predicts = tf.argmax(logits, axis=-1, name='predicts')

variables_to_restore = tf.trainable_variables(scope='resnet_v2_50')

# finetune resnet_v2_50的参数(block1到block4)
restorer = tf.train.Saver(variables_to_restore)
# cross_entropy
cross_entropy = tf.reduce_mean(
    param_dict = {}
    for var in variables:
        var_name = var.name[:-2]
        print('Loading {} from checkpoint. Name: {}'.format(
            var.name, var_name))
        param_dict[var_name] = var
    saver = tf.train.Saver()
    saver.restore(sess, saved_file)


# Reset TF Graph
tf.reset_default_graph()
sess = tf.Session()

# Load BaseModel
model = Deeplab_v3(input_type=model_type)
if model_type == 'rgbt':
    image = tf.placeholder(tf.float32, [None, 512, 512, 4], name='input_x')
else:
    image = tf.placeholder(tf.float32, [None, 512, 512, 3], name='input_x')
label = tf.placeholder(tf.int32, [None, 512, 512])
lr = tf.placeholder(tf.float32, )

logits = model.forward_pass(image)
logits_prob = tf.nn.softmax(logits=logits, name='logits_prob')
predicts = tf.argmax(logits, axis=-1, name='predicts')
restore_model(ckpt_path)

all_tests_result = {}
key_map = {
    'IOU_0': 0,