indices[:, 0], [7, 7], method="bilinear") print(new_rois.shape) start = 0 for j in range(proposals.shape[0]): count = tf.where(tf.equal(indices[:, 0], j)).shape[0] rois_by_images[j].extend(new_rois[start : start + count]) start = count print("kraj") rois = tf.ragged.constant(rois_by_images) print(rois.shape) return if __name__ == "__main__": #np.random.seed(100) tf.random.set_seed(110) anchors = anchor_utils.get_all_anchors((512, 512), [64, 128, 256, 512, 1024], [(1, 1), (1, 2), (2, 1)]) rpn_model = rpn.RPN(Resnet34_FPN(), 3) #weights_path = "weights.ckpt" #rpn_model.load_weights(weights_path) num_classes = len(config.CLASSES) model = Mask_RCNN(rpn_model, anchors, num_classes) #ds = dataset_util.VOC2012_Dataset("DATASET/VOC2012/VOC2012", "/train_list.txt", 2) ds = dataset_util.VOC2012_Dataset("dataset/VOC2012", "/train_list.txt", 2) data1, data2, data3, data5, d4 = ds.next_batch() data2, data3 = anchor_utils.get_rpn_classes_and_bbox_deltas(len(data1), anchors, data2) a, b, c, d, e = model([data1, d4], training=True)
import rpn import backbone import dataset_util import anchor_utils import tensorflow as tf import config import mask_rcnn import numpy as np import image_util import metrics ds = dataset_util.VOC2012_Dataset("dataset/VOC2012", "/valid_list.txt", 2) #ds = dataset_util.VOC2012_Dataset("dataset/TEST", "/test_list.txt", 2) anchors = anchor_utils.get_all_anchors(config.IMAGE_SIZE, config.ANCHOR_SCALES, config.ANCHOR_RATIOS) backbone2 = backbone.Resnet34_FPN() rpn2 = rpn.RPN(backbone2, 3) model = mask_rcnn.Mask_RCNN(rpn2, anchors, len(config.CLASSES)) checkpoint = tf.train.Checkpoint(net=model, step=tf.Variable(1)) manager = tf.train.CheckpointManager(checkpoint, config.WEIGHTS_DIR, max_to_keep=4) if manager.latest_checkpoint: print("Restoring...", manager.latest_checkpoint) model([ np.random.rand(1, config.IMAGE_SIZE[0], config.IMAGE_SIZE[1], 3), np.array([[500, 500]]) ], training=False)