资源简介

深度卷积神经网络在各类计算机视觉应用中取得了显著的成功,语义分割也不例外。DeepLab-v3 是由谷歌开发的语义分割网络

资源截图

代码片段和文件信息

from __future__ import print_function

import os
import numpy as np
import tensorflow as tf
from keras.utils.data_utils import get_file


def get_xception_filename(key):
    “““Rename tensor name to the corresponding Keras layer weight name.
    # Arguments
        key: tensor name in TF (determined by tf.variable_scope)
    “““
    filename = str(key)
    filename = filename.replace(‘/‘ ‘_‘)
    filename = filename.replace(‘xception_65_‘ ‘‘)
    filename = filename.replace(‘decoder_‘ ‘‘ 1)
    filename = filename.replace(‘BatchNorm‘ ‘BN‘)
    if ‘Momentum‘ in filename:
        return None
    if ‘entry_flow‘ in filename or ‘exit_flow‘ in filename:
        filename = filename.replace(‘_unit_1_xception_module‘ ‘‘)
    elif ‘middle_flow‘ in filename:
        filename = filename.replace(‘_block1‘ ‘‘)
        filename = filename.replace(‘_xception_module‘ ‘‘)

    # from TF to Keras naming
    filename = filename.replace(‘_weights‘ ‘_kernel‘)
    filename = filename.replace(‘_biases‘ ‘_bias‘)

    return filename + ‘.npy‘


def get_mobilenetv2_filename(key):
    “““Rename tensor name to the corresponding Keras layer weight name.
    # Arguments
        key: tensor name in TF (determined by tf.variable_scope)
    “““
    filename = str(key)
    filename = filename.replace(‘/‘ ‘_‘)
    filename = filename.replace(‘MobilenetV2_‘ ‘‘)
    filename = filename.replace(‘BatchNorm‘ ‘BN‘)
    if ‘Momentum‘ in filename:
        return None

    # from TF to Keras naming
    filename = filename.replace(‘_weights‘ ‘_kernel‘)
    filename = filename.replace(‘_biases‘ ‘_bias‘)

    return filename + ‘.npy‘


def extract_tensors_from_checkpoint_file(filename output_folder=‘weights‘ net_name=None):
    “““Extract tensors from a TF checkpoint file.
    # Arguments
        filename: TF checkpoint file
        output_folder: where to save the output numpy array files
    “““
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    reader = tf.train.NewCheckpointReader(filename)

    for key in reader.get_variable_to_shape_map():
        # convert tensor name into the corresponding Keras layer weight name and save
        if net_name == ‘xception‘:
            filename = get_xception_filename(key)
        elif net_name == ‘mobilenetv2‘:
            filename = get_mobilenetv2_filename(key)
        if filename:
            path = os.path.join(output_folder filename)
            arr = reader.get_tensor(key)
            np.save(path arr)
            print(“tensor_name: “ key)

CKPT_URL = ‘http://download.tensorflow.org/models/deeplabv3_pascal_trainval_2018_01_04.tar.gz‘
CKPT_URL_MOBILE = ‘http://download.tensorflow.org/models/deeplabv3_mnv2_pascal_trainval_2018_01_29.tar.gz‘
MODEL_DIR = ‘models‘
MODEL_SUBDIR = ‘deeplabv3_pascal_trainval‘
MODEL_SUBDIR_MOBILE = ‘deeplabv3_mnv2_pascal_trainval‘

if not os.path.exists(MODEL_DIR):
    os.makedirs(MODEL_DIR)

checkpoint_tar = get_file(
    ‘deeplabv3_pascal_trainval_2018_01_04.tar.gz‘

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-20 12:08  keras-deeplab-v3-plus-master\
     文件          39  2018-05-20 12:08  keras-deeplab-v3-plus-master\.gitignore
     文件        1069  2018-05-20 12:08  keras-deeplab-v3-plus-master\LICENSE
     文件        3428  2018-05-20 12:08  keras-deeplab-v3-plus-master\README.md
     文件        3648  2018-05-20 12:08  keras-deeplab-v3-plus-master\extract_weights.py
     目录           0  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\
     文件      151959  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\image1.jpg
     文件      106187  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\image2.jpg
     文件      108846  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\image3.jpg
     文件      201701  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\my_seg_results1_OS16.png
     文件      201618  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\my_seg_results1_OS8.png
     文件      191858  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\my_seg_results2_OS16.png
     文件      192425  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\my_seg_results2_OS8.png
     文件      233169  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\my_seg_results3_OS16.png
     文件      232881  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\my_seg_results3_OS8.png
     文件      206312  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\seg_results1.png
     文件      206122  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\seg_results2.png
     文件      244053  2018-05-20 12:08  keras-deeplab-v3-plus-master\imgs\seg_results3.png
     文件        1149  2018-05-20 12:08  keras-deeplab-v3-plus-master\load_weights.py
     文件       23028  2018-05-20 12:08  keras-deeplab-v3-plus-master\model.py

评论

共有 条评论