def convert_weight(model_path, output_dir, size=608): save_path = os.path.join(output_dir, 'YOLO_v4_' + str(size) + '.ckpt') class_num = 80 yolo = YOLO() with tf.Session() as sess: tf_input = tf.placeholder(tf.float32, [1, size, size, 3]) feature = yolo.forward(tf_input, class_num, isTrain=False) saver = tf.train.Saver(var_list=tf.global_variables()) load_ops = load_weights(tf.global_variables(), model_path) sess.run(load_ops) saver.save(sess, save_path=save_path) print('YOLO v4 weights have been transformed to {}'.format(save_path))
import os import sys import tensorflow as tf import numpy as np from model import yolov3 from utils.misc_utils import parse_anchors, load_weights num_class = 80 img_size = 416 weight_path = './data/darknet_weights/yolov3.weights' save_path = './data/darknet_weights/yolov3.ckpt' anchors = parse_anchors('./data/yolo_anchors.txt') model = yolov3(80, anchors) with tf.Session() as sess: inputs = tf.placeholder(tf.float32, [1, img_size, img_size, 3]) with tf.variable_scope('yolov3'): feature_map = model.forward(inputs) saver = tf.train.Saver(var_list=tf.global_variables(scope='yolov3')) load_ops = load_weights(tf.global_variables(scope='yolov3'), weight_path) sess.run(load_ops) saver.save(sess, save_path=save_path) print('TensorFlow model checkpoint has been saved to {}'.format(save_path))
import os import sys import tensorflow as tf import numpy as np import config from src.YOLO import YOLO from utils.misc_utils import load_weights weight_path = './yolo_weights/yolov4.weights' save_path = './yolo_weights/yolov4.ckpt' #anchors = [10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326] #for yolov4-416 anchors = [12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401] # for yolov4.weights class_num = 80 # for yolov4.weights yolo = YOLO(class_num, anchors,width=608, height=608) with tf.Session() as sess: inputs = tf.placeholder(tf.float32, [1, 608, 608, 3]) feature = yolo.forward(inputs, isTrain=False) saver = tf.train.Saver(var_list=tf.global_variables()) load_ops = load_weights(tf.global_variables(), weight_path) sess.run(load_ops) saver.save(sess, save_path=save_path) print('TensorFlow model checkpoint has been saved to {}'.format(save_path))
img_size = 512 weight_path = '../data/darknet_weights/yolov3.weights' save_path = './data/darknet_weights/yolov3.ckpt' anchors = parse_anchors('../data/yolo_anchors.txt') class_num = 5 model = yolov3(class_num, anchors) with tf.Session() as sess: inputs_ir = tf.placeholder(tf.float32, [1, img_size, img_size, 3]) inputs_co = tf.placeholder(tf.float32, [1, img_size, img_size, 3]) with tf.variable_scope('yolov3'): feature_map = model.forward(inputs_ir, inputs_co) saver = tf.train.Saver(var_list=tf.global_variables(scope='yolov3')) varlist_dark_ir = tf.global_variables(scope='yolov3/darknet53_body_ir') varlist_dark_co = tf.global_variables(scope='yolov3/darknet53_body_co') varlist_head = tf.global_variables(scope='yolov3/yolov3_head') var_list_dark_head = varlist_dark_ir + varlist_head init = tf.global_variables_initializer() sess.run(init) load_ops = load_weights(varlist_dark_co, weight_path) sess.run(load_ops) load_ops2 = load_weights(varlist_dark_ir, weight_path) sess.run(load_ops2) saver.save(sess, save_path=save_path) print('TensorFlow model checkpoint has been saved to {}'.format(save_path))