forked from PulseFocusPlatform/PulseFocusPlatform
90 lines
2.9 KiB
Python
90 lines
2.9 KiB
Python
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND
|
|
# See the License
|
|
|
|
|
|
import os.path as osp
|
|
import glob
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
|
|
def readme():
|
|
with open('README.md', encoding='utf-8') as f:
|
|
content = f.read()
|
|
return content
|
|
|
|
|
|
def parse_requirements(fname):
|
|
with open(fname, encoding="utf-8-sig") as f:
|
|
requirements = f.readlines()
|
|
return requirements
|
|
|
|
|
|
def package_model_zoo():
|
|
cur_dir = osp.dirname(osp.realpath(__file__))
|
|
cfg_dir = osp.join(cur_dir, "configs")
|
|
cfgs = glob.glob(osp.join(cfg_dir, '*/*.yml'))
|
|
|
|
valid_cfgs = []
|
|
for cfg in cfgs:
|
|
if osp.split(osp.split(cfg)[0])[1] not in ['datasets']:
|
|
valid_cfgs.append(cfg)
|
|
model_names = [
|
|
osp.relpath(cfg, cfg_dir).replace(".yml", "") for cfg in valid_cfgs
|
|
]
|
|
|
|
model_zoo_file = osp.join(cur_dir, 'ppdet', 'model_zoo', 'MODEL_ZOO')
|
|
with open(model_zoo_file, 'w') as wf:
|
|
for model_name in model_names:
|
|
wf.write("{}\n".format(model_name))
|
|
|
|
return [model_zoo_file]
|
|
|
|
|
|
packages = [
|
|
'ppdet',
|
|
'ppdet.core',
|
|
'ppdet.data',
|
|
'ppdet.engine',
|
|
'ppdet.metrics',
|
|
'ppdet.modeling',
|
|
'ppdet.model_zoo',
|
|
'ppdet.slim',
|
|
'ppdet.utils',
|
|
]
|
|
|
|
if __name__ == "__main__":
|
|
setup(
|
|
name='paddledet',
|
|
packages=find_packages(exclude=("configs", "tools", "deploy")),
|
|
package_data={'ppdet.model_zoo': package_model_zoo()},
|
|
author='PaddlePaddle',
|
|
version='2.1.0',
|
|
install_requires=parse_requirements('./requirements.txt'),
|
|
description='Object detection and instance segmentation toolkit based on PaddlePaddle',
|
|
long_description=readme(),
|
|
long_description_content_type='text/markdown',
|
|
url='https://github.com/PaddlePaddle/PaddleDetection',
|
|
download_url='https://github.com/PaddlePaddle/PaddleDetection.git',
|
|
keywords=['ppdet paddle ppyolo'],
|
|
classifiers=[
|
|
'Intended Audience :: Developers',
|
|
'License :: OSI Approved :: Apache Software License',
|
|
'Operating System :: OS Independent',
|
|
'Natural Language :: Chinese (Simplified)',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Programming Language :: Python :: 3.6',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Programming Language :: Python :: 3.8', 'Topic :: Utilities'
|
|
],
|
|
license='Apache License 2.0',
|
|
ext_modules=[])
|