Beispiel #1
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration
    from scipy._build_utils import get_g77_abi_wrappers, get_sgemv_fix

    config = Configuration('arpack', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    config = Configuration('arpack', parent_package, top_path)

    arpack_sources = [join('ARPACK', 'SRC', '*.f')]
    arpack_sources.extend([join('ARPACK', 'UTIL', '*.f')])

    arpack_sources += get_g77_abi_wrappers(lapack_opt)

    config.add_library('arpack_scipy',
                       sources=arpack_sources,
                       include_dirs=[join('ARPACK', 'SRC')])

    ext_sources = ['arpack.pyf.src']
    ext_sources += get_sgemv_fix(lapack_opt)
    config.add_extension(
        '_arpack',
        sources=ext_sources,
        libraries=['arpack_scipy'],
        extra_info=lapack_opt,
        depends=arpack_sources,
    )

    config.add_data_dir('tests')
    return config
Beispiel #2
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration
    from scipy._build_utils import get_g77_abi_wrappers

    config = Configuration('isolve', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    # iterative methods
    methods = [
        'BiCGREVCOM.f.src',
        'BiCGSTABREVCOM.f.src',
        'CGREVCOM.f.src',
        'CGSREVCOM.f.src',
        #               'ChebyREVCOM.f.src',
        'GMRESREVCOM.f.src',
        #               'JacobiREVCOM.f.src',
        'QMRREVCOM.f.src',
        #               'SORREVCOM.f.src'
    ]

    Util = ['STOPTEST2.f.src', 'getbreak.f.src']
    sources = Util + methods + ['_iterative.pyf.src']
    sources = [join('iterative', x) for x in sources]
    sources += get_g77_abi_wrappers(lapack_opt)

    config.add_extension('_iterative', sources=sources, extra_info=lapack_opt)

    config.add_data_dir('tests')

    return config
Beispiel #3
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.misc_util import Configuration
    from numpy.distutils.system_info import get_info, NotFoundError, numpy_info
    config = Configuration('lib', parent_package, top_path)

    # get lapack options
    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    atlas_version = ([v[3:-3] for k, v in lapack_opt.get('define_macros', [])
                      if k == 'ATLAS_INFO'] + [None])[0]
    if atlas_version:
        print(('ATLAS version: %s' % atlas_version))

    # include_dirs=[os.curdir,'$MKLROOT/include']
    # library_dirs=['$MKLROOT/lib/intel64']
    # libraries=['mkl_intel_lp64','mkl_sequential','mkl_core', 'm', 'pthread']

    # render f90 files if templates changed
    render_f90s()

    for extension, source in zip(extension_list, source_list):
        # config.add_extension(
        # extension, [os.path.join(libdir, source)], libraries=libraries,
        #        library_dirs=library_dirs, include_dirs=include_dirs)
        config.add_extension(extension, [os.path.join(
            libdir, source)], extra_info=lapack_opt)
    return config
Beispiel #4
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration

    config = Configuration('pypropack', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    #------------------------------------------------------------
    # Set up the libraries.
    #  We need a different python .so file for each, because they
    #  re-use names for functions in the LAPACK extensions.  This
    #  could probably be remedied with some work.
    type_dict = dict(s='single', d='double', c='complex8', z='complex16')

    for typ in type_dict:
        lapack_lib = 'sp_%slapack_util' % typ
        propack_lib = '_%spropack' % typ

        lapack_sources = join('PROPACK', type_dict[typ], 'Lapack_Util', '*.f')
        propack_sources = join('PROPACK', type_dict[typ], '*.F')

        config.add_library(lapack_lib, sources=lapack_sources)
        config.add_library(propack_lib, sources=propack_sources)
        config.add_extension('_%spropack' % typ,
                             sources='%spropack.pyf' % typ,
                             libraries=[lapack_lib, propack_lib],
                             extra_info=lapack_opt)

    return config
def prediction_image(image_path, model_url, user_id):
    try:
        model_folder = extract_model(model_url, user_id)

        model_file = model_json = ""
        for i in os.listdir(model_folder):
            if i.endswith(".model"):
                model_file = i
            if i.endswith(".json"):
                model_json = i
        if model_file is None:
            raise NotFoundError("model not found")
        if model_json is None:
            raise NotFoundError("model json not found")

        with open(model_folder + "/" + model_json) as f:
            class_config = json.load(f)
        print(class_config)
        model = load_model(model_folder + "/" + model_file)

        img = image.load_img(image_path, target_size=(HEIGHT, WIDTH))
        x = image.img_to_array(img)
        x = np.expand_dims(x, axis=0)
        x = preprocess_input(x)
        pred = model.predict(x)[0]
        result = {}
        z = 0
        for i in class_config.keys():
            label = class_config[i]
            result[label] = str(pred[z])
            z += 1
        print(result)

        keras.backend.clear_session()
        return result
    finally:
        os.remove(image_path)
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError

    from numpy.distutils.misc_util import Configuration

    config = Configuration('isolve', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    # iterative methods
    methods = [
        'BiCGREVCOM.f.src',
        'BiCGSTABREVCOM.f.src',
        'CGREVCOM.f.src',
        'CGSREVCOM.f.src',
        #               'ChebyREVCOM.f.src',
        'GMRESREVCOM.f.src',
        #               'JacobiREVCOM.f.src',
        'QMRREVCOM.f.src',
        #               'SORREVCOM.f.src'
    ]

    if needs_g77_abi_wrapper(lapack_opt):
        methods += [
            join('FWRAPPERS', 'wrap_veclib_f.f'),
            join('FWRAPPERS', 'wrap_veclib_c.c')
        ]
    else:
        methods += [join('FWRAPPERS', 'wrap_dummy.f')]

    Util = ['STOPTEST2.f.src', 'getbreak.f.src']
    sources = Util + methods + ['_iterative.pyf.src']
    config.add_extension(
        '_iterative',
        sources=[join('iterative', x) for x in sources],
        extra_info=lapack_opt,
        depends=[
            join('iterative', 'FWRAPPERS', x)
            for x in ['wrap_veclib_f.f', 'wrap_veclib_c.c', 'wrap_dummy.f']
        ])

    config.add_data_dir('tests')

    return config
Beispiel #7
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration
    config = Configuration('_propack', parent_package, top_path)
    lapack_opt = get_info('lapack_opt')
    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    #  ------------------------------------------------------------
    #  Set up the libraries.
    #  We need a different python extension file for each, because
    #  names resue between functions in the LAPACK extensions.  This
    #  could probably be remedied with some work.
    #  NOTES: this might not longer apply now that we build without
    #         LAPACK extensions
    type_dict = dict(s='single', d='double', c='complex8', z='complex16')
    check_propack_submodule()

    for prefix, directory in type_dict.items():
        propack_lib = f'_{prefix}propack'

        # Need to use risc implementation for 32-bit machines
        if _is_32bit:
            src = list((pathlib.Path(__file__).parent / 'PROPACK' /
                        directory).glob('*.F'))
            src = [str(p) for p in src if 'risc' not in str(p)]
        else:
            src = join('PROPACK', directory, '*.F')

        config.add_library(propack_lib, sources=src, macros=[('_OPENMP', )])
        config.add_extension(f'_{prefix}propack',
                             sources=f'{prefix}propack.pyf',
                             libraries=[propack_lib],
                             extra_info=lapack_opt,
                             undef_macros=['_OPENMP'])

        # add required data files to run example matrix tests
        path_list = ['PROPACK', directory, 'Examples']
        config.add_data_files('.', join(*path_list, '*.coord'))
        config.add_data_files('.', join(*path_list, '*.diag'))
        config.add_data_files('.', join(*path_list, '*.rra'))
        config.add_data_files('.', join(*path_list, '*.cua'))
        config.add_data_files('.', join(*path_list, 'Output', '*.ascii'))

    return config
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration

    config = Configuration('arpack', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    config = Configuration('arpack', parent_package, top_path)

    arpack_sources = [join('ARPACK', 'SRC', '*.f')]
    arpack_sources.extend([join('ARPACK', 'UTIL', '*.f')])
    arpack_sources.extend([join('ARPACK', 'LAPACK', '*.f')])

    if needs_g77_abi_wrapper(lapack_opt):
        arpack_sources += [
            join('ARPACK', 'FWRAPPERS', 'wrap_veclib_f.f'),
            join('ARPACK', 'FWRAPPERS', 'wrap_veclib_c.c')
        ]
    else:
        arpack_sources += [join('ARPACK', 'FWRAPPERS', 'wrap_dummy.f')]

    config.add_library('arpack_scipy',
                       sources=arpack_sources,
                       include_dirs=[join('ARPACK', 'SRC')],
                       depends=[
                           join('ARPACK', 'FWRAPPERS', 'wrap_veclib_f.f'),
                           join('ARPACK', 'FWRAPPERS', 'wrap_veclib_c.c'),
                           join('ARPACK', 'FWRAPPERS', 'wrap_dummy.f')
                       ])

    config.add_extension(
        '_arpack',
        sources='arpack.pyf.src',
        libraries=['arpack_scipy'],
        extra_info=lapack_opt,
        depends=arpack_sources,
    )

    config.add_data_dir('tests')
    return config
Beispiel #9
0
def configuration(parent_package='', top_path=None):
    from numpy import get_include
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    config = Configuration('_trlib', parent_package, top_path)
    config.add_extension('_trlib',
                         sources=['_trlib.c', 'trlib_krylov.c',
                                  'trlib_eigen_inverse.c', 'trlib_leftmost.c',
                                  'trlib_quadratic_zero.c', 'trlib_tri_factor.c'],
                         include_dirs=[get_include(), 'trlib'],
                         extra_info=lapack_opt,
                         )
    return config
Beispiel #10
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration
    from scipy._build_utils import get_g77_abi_wrappers, split_fortran_files

    config = Configuration('linalg', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    atlas_version = ([
        v[3:-3]
        for k, v in lapack_opt.get('define_macros', []) if k == 'ATLAS_INFO'
    ] + [None])[0]
    if atlas_version:
        print(('ATLAS version: %s' % atlas_version))

    # fblas:
    sources = ['fblas.pyf.src']
    sources += get_g77_abi_wrappers(lapack_opt)

    config.add_extension('_fblas',
                         sources=sources,
                         depends=['fblas_l?.pyf.src'],
                         extra_info=lapack_opt)

    # flapack:
    sources = ['flapack.pyf.src']
    sources += get_g77_abi_wrappers(lapack_opt)

    config.add_extension('_flapack',
                         sources=sources,
                         depends=['flapack_user.pyf.src'],
                         extra_info=lapack_opt)

    if atlas_version is not None:
        # cblas:
        config.add_extension('_cblas',
                             sources=['cblas.pyf.src'],
                             depends=['cblas.pyf.src', 'cblas_l1.pyf.src'],
                             extra_info=lapack_opt)

        # clapack:
        config.add_extension('_clapack',
                             sources=['clapack.pyf.src'],
                             depends=['clapack.pyf.src'],
                             extra_info=lapack_opt)

    # _flinalg:
    config.add_extension('_flinalg',
                         sources=[join('src', 'det.f'),
                                  join('src', 'lu.f')],
                         extra_info=lapack_opt)

    # _interpolative:
    routines_to_split = [
        'dfftb1',
        'dfftf1',
        'dffti1',
        'dsint1',
        'dzfft1',
        'id_srand',
        'idd_copyints',
        'idd_id2svd0',
        'idd_pairsamps',
        'idd_permute',
        'idd_permuter',
        'idd_random_transf0',
        'idd_random_transf0_inv',
        'idd_random_transf_init0',
        'idd_subselect',
        'iddp_asvd0',
        'iddp_rsvd0',
        'iddr_asvd0',
        'iddr_rsvd0',
        'idz_estrank0',
        'idz_id2svd0',
        'idz_permute',
        'idz_permuter',
        'idz_random_transf0_inv',
        'idz_random_transf_init0',
        'idz_random_transf_init00',
        'idz_realcomp',
        'idz_realcomplex',
        'idz_reco',
        'idz_subselect',
        'idzp_aid0',
        'idzp_aid1',
        'idzp_asvd0',
        'idzp_rsvd0',
        'idzr_asvd0',
        'idzr_reco',
        'idzr_rsvd0',
        'zfftb1',
        'zfftf1',
        'zffti1',
    ]
    print('Splitting linalg.interpolative Fortran source files')
    fnames = split_fortran_files(
        join(
            os.path.split(os.path.abspath(__file__))[0], 'src', 'id_dist',
            'src'), routines_to_split)
    fnames = [join('src', 'id_dist', 'src', f) for f in fnames]
    config.add_extension('_interpolative',
                         fnames + ["interpolative.pyf"],
                         extra_info=lapack_opt)

    config.add_data_dir('tests')
    config.add_data_dir('benchmarks')
    return config
Beispiel #11
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError
    from numpy.distutils.misc_util import Configuration
    from scipy._build_utils import (gfortran_legacy_flag_hook,
                                    get_g77_abi_wrappers,
                                    needs_g77_abi_wrapper)

    lapack_opt = get_info('lapack_opt')
    pre_build_hook = gfortran_legacy_flag_hook
    f2py_options = None

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    config = Configuration('_propack', parent_package, top_path)

    #  ------------------------------------------------------------
    #  Set up the libraries.
    #  We need a different python extension file for each, because
    #  names reuse between functions in the LAPACK extensions.  This
    #  could probably be remedied with some work.
    #  NOTES: this might not longer apply now that we build without
    #         LAPACK extensions
    type_dict = dict(s='single',
                     d='double',
                     c='complex8',
                     z='complex16')
    check_propack_submodule()

    for prefix, directory in type_dict.items():
        propack_lib = f'_{prefix}propack'
        # Use risc msg implementation for 64-bit machines, pentium for 32-bit
        src_dir = pathlib.Path(__file__).parent / 'PROPACK' / directory
        src = list(src_dir.glob('*.F'))
        if _is_32bit():
            # don't ask me why, 32-bit blows up without second.F
            src = [str(p) for p in src if 'risc' not in str(p)]
        else:
            src = [str(p) for p in src
                   if 'pentium' not in str(p) and 'second' not in str(p)]

        if not _is_32bit():
            # don't ask me why, 32-bit blows up with this wrapper
            src += get_g77_abi_wrappers(lapack_opt)

        cmacros = [('_OPENMP',)]
        if needs_g77_abi_wrapper(lapack_opt):
            cmacros += [('SCIPY_USE_G77_CDOTC_WRAP', 1)]

        config.add_library(propack_lib,
                           sources=src,
                           macros=cmacros,
                           include_dirs=src_dir,
                           depends=['setup.py'])
        ext = config.add_extension(f'_{prefix}propack',
                                   sources=f'{prefix}propack.pyf',
                                   libraries=[propack_lib],
                                   extra_info=lapack_opt,
                                   undef_macros=['_OPENMP'],
                                   f2py_options=f2py_options,
                                   depends=['setup.py'] + src)
        ext._pre_build_hook = pre_build_hook

    return config
Beispiel #12
0
from numpy.distutils.system_info import get_info, NotFoundError
import numpy.distutils.extension as Next

# Fortran helper files
F90ext = Next.Extension(
    'Inelastica.F90helpers',
    [
        'package/F90/expansion_SE.f90', 'package/F90/readTSHS.f90',
        'package/F90/removeUnitCellXij.f90', 'package/F90/setkpointhelper.f90'
    ],
)

# Retrieve the LAPACK-library...
lapack_opt = get_info('lapack_opt')
if not lapack_opt:
    raise NotFoundError('No LAPACK/BLAS resources found')
F90extLapack = Next.Extension('Inelastica.F90_lapack',
                              ['package/F90/surfaceGreen.f90'], **lapack_opt)

# Main setup of python modules
setup(
    name='Inelastica',
    version='1.2-rc',
    # Define the requirements for Inelastica
    # These probably needs to be adjusted...
    requires=['python (>=2.5)', 'numpy (>=1.6)', 'netCDF4 (>=1.2.7)'],
    description='Python tools for SIESTA/TranSIESTA',
    long_description="""
Provides:
1:	File format conversions for geometry, try: geom2geom --help
2:	Phonon calculations (including e-ph coupling)
Beispiel #13
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError

    from numpy.distutils.misc_util import Configuration

    config = Configuration('linalg', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    atlas_version = ([v[3:-3] for k,v in lapack_opt.get('define_macros',[]) \
                      if k=='ATLAS_INFO']+[None])[0]
    if atlas_version:
        print('ATLAS version: %s' % atlas_version)

    target_dir = ''
    skip_names = {'clapack': [], 'flapack': [], 'cblas': [], 'fblas': []}
    if skip_single_routines:
        target_dir = 'dbl'
        skip_names['clapack'].extend(\
            'sgesv cgesv sgetrf cgetrf sgetrs cgetrs sgetri cgetri'\
            ' sposv cposv spotrf cpotrf spotrs cpotrs spotri cpotri'\
            ' slauum clauum strtri ctrtri'.split())
        skip_names['flapack'].extend(skip_names['clapack'])
        skip_names['flapack'].extend(\
            'sgesdd cgesdd sgelss cgelss sgeqrf cgeqrf sgeev cgeev'\
            ' sgegv cgegv ssyev cheev slaswp claswp sgees cgees'
            ' sggev cggev'.split())
        skip_names['cblas'].extend('saxpy caxpy'.split())
        skip_names['fblas'].extend(skip_names['cblas'])
        skip_names['fblas'].extend(\
            'srotg crotg srotmg srot csrot srotm sswap cswap sscal cscal'\
            ' csscal scopy ccopy sdot cdotu cdotc snrm2 scnrm2 sasum scasum'\
            ' isamax icamax sgemv cgemv chemv ssymv strmv ctrmv'\
            ' sgemm cgemm'.split())

    if using_lapack_blas:
        target_dir = join(target_dir, 'blas')
        skip_names['fblas'].extend(\
            'drotmg srotmg drotm srotm'.split())

    if atlas_version == '3.2.1_pre3.3.6':
        target_dir = join(target_dir, 'atlas321')
        skip_names['clapack'].extend(\
            'sgetri dgetri cgetri zgetri spotri dpotri cpotri zpotri'\
            ' slauum dlauum clauum zlauum strtri dtrtri ctrtri ztrtri'.split())
    elif atlas_version and atlas_version > '3.4.0' and atlas_version <= '3.5.12':
        skip_names['clapack'].extend('cpotrf zpotrf'.split())

    # fblas:
    if needs_cblas_wrapper(lapack_opt):
        sources = ['fblas.pyf.src', join('src', 'fblaswrap_veclib_c.c')],
    else:
        sources = ['fblas.pyf.src', join('src', 'fblaswrap.f')]

    # Note: `depends` needs to include fblaswrap(_veclib) for both files to be
    # included by "python setup.py sdist"
    config.add_extension('fblas',
                         sources=sources,
                         depends=[
                             'fblas_l?.pyf.src',
                             join('src', 'fblaswrap_veclib_c.c'),
                             join('src', 'fblaswrap.f')
                         ],
                         extra_info=lapack_opt)

    # flapack:
    config.add_extension('flapack',
                         sources=['flapack.pyf.src'],
                         depends=['flapack_user.pyf.src'],
                         extra_info=lapack_opt)

    if atlas_version is not None:
        # cblas:
        config.add_extension('cblas',
                             sources=['cblas.pyf.src'],
                             depends=['cblas.pyf.src', 'cblas_l1.pyf.src'],
                             f2py_options=['skip:'] + skip_names['cblas'] +
                             [':'],
                             extra_info=lapack_opt)

        # clapack:
        config.add_extension('clapack',
                             sources=['clapack.pyf.src'],
                             depends=['clapack.pyf.src'],
                             f2py_options=['skip:'] + skip_names['clapack'] +
                             [':'],
                             extra_info=lapack_opt)

    # _flinalg:
    config.add_extension('_flinalg',
                         sources=[join('src', 'det.f'),
                                  join('src', 'lu.f')],
                         extra_info=lapack_opt)

    # calc_lwork:
    config.add_extension('calc_lwork', [join('src', 'calc_lwork.f')],
                         extra_info=lapack_opt)

    # atlas_version:
    if os.name == 'nt' and ('FPATH' in os.environ or 'MKLROOT' in os.environ):
        define_macros = [('NO_ATLAS_INFO', 1)]
    else:
        define_macros = []

    config.add_extension('atlas_version', ['atlas_version.c'],
                         extra_info=lapack_opt,
                         define_macros=define_macros)

    config.add_data_dir('tests')
    config.add_data_dir('benchmarks')
    return config
def prediction_zip(prediction_request, user_id, worker):
    worker = str(worker)
    model_file_url = prediction_request.model_url
    test_zip_folder = prediction_request.zip_file_url
    storage_label = prediction_request.label
    name = prediction_request.name

    zip_path = file_download(test_zip_folder, user_id)
    images_folder = extract_data(zip_path, worker)

    zip_path = file_download(model_file_url, user_id)
    model_folder = extract_data(zip_path, worker)

    model_file = model_json = ""
    for i in os.listdir(model_folder):
        if i.endswith(".model"):
            model_file = i
        if i.endswith(".json"):
            model_json = i
    if model_file is None:
        raise NotFoundError("model not found")
    if model_json is None:
        raise NotFoundError("model json not found")

    with open(model_folder + "/" + model_json) as f:
        class_config = json.load(f)

    pred_file = name + "_" + worker + "_prediction.csv"
    model = load_model(model_folder + "/" + model_file)
    images = os.listdir(images_folder)

    try:
        labels = []
        imgs = []
        classes = []
        for img_name in images:
            if not img_name.endswith(".csv"):
                path = images_folder + "/" + img_name
                img = image.load_img(path, target_size=(HEIGHT, WIDTH))
                x = image.img_to_array(img)
                x = np.expand_dims(x, axis=0)
                x = preprocess_input(x)
                preds = model.predict(x)[0]
                result = {}
                z = 0
                for i in class_config.keys():
                    label = class_config[i]
                    result[label] = preds[z]
                    z += 1
                print(result)
                cls = sorted(result.items(), key=lambda j: j[1],
                             reverse=True)[0][0]
                imgs.append(img_name)
                labels.append(result)
                classes.append(cls)
        df = pd.DataFrame(
            list(zip(imgs, labels, classes)),
            columns=["image_name", "prediction_json", "prediction_class"])
        df.to_csv(pred_file, index=False)
        csv_file_url = file_upload(pred_file, user_id, storage_label)
        return csv_file_url
    finally:
        rmtree(model_folder)
        os.remove(pred_file)
        rmtree(images_folder)
Beispiel #15
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError

    from numpy.distutils.misc_util import Configuration

    from interface_gen import generate_interface

    config = Configuration('linalg', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    atlas_version = ([v[3:-3] for k,v in lapack_opt.get('define_macros',[]) \
                      if k=='ATLAS_INFO']+[None])[0]
    if atlas_version:
        print('ATLAS version: %s' % atlas_version)

    target_dir = ''
    skip_names = {'clapack': [], 'flapack': [], 'cblas': [], 'fblas': []}
    if skip_single_routines:
        target_dir = 'dbl'
        skip_names['clapack'].extend(\
            'sgesv cgesv sgetrf cgetrf sgetrs cgetrs sgetri cgetri'\
            ' sposv cposv spotrf cpotrf spotrs cpotrs spotri cpotri'\
            ' slauum clauum strtri ctrtri'.split())
        skip_names['flapack'].extend(skip_names['clapack'])
        skip_names['flapack'].extend(\
            'sgesdd cgesdd sgelss cgelss sgeqrf cgeqrf sgeev cgeev'\
            ' sgegv cgegv ssyev cheev slaswp claswp sgees cgees'
            ' sggev cggev'.split())
        skip_names['cblas'].extend('saxpy caxpy'.split())
        skip_names['fblas'].extend(skip_names['cblas'])
        skip_names['fblas'].extend(\
            'srotg crotg srotmg srot csrot srotm sswap cswap sscal cscal'\
            ' csscal scopy ccopy sdot cdotu cdotc snrm2 scnrm2 sasum scasum'\
            ' isamax icamax sgemv cgemv chemv ssymv strmv ctrmv'\
            ' sgemm cgemm'.split())

    if using_lapack_blas:
        target_dir = join(target_dir, 'blas')
        skip_names['fblas'].extend(\
            'drotmg srotmg drotm srotm'.split())

    if atlas_version == '3.2.1_pre3.3.6':
        target_dir = join(target_dir, 'atlas321')
        skip_names['clapack'].extend(\
            'sgetri dgetri cgetri zgetri spotri dpotri cpotri zpotri'\
            ' slauum dlauum clauum zlauum strtri dtrtri ctrtri ztrtri'.split())
    elif atlas_version and atlas_version > '3.4.0' and atlas_version <= '3.5.12':
        skip_names['clapack'].extend('cpotrf zpotrf'.split())

    def generate_pyf(extension, build_dir):
        name = extension.name.split('.')[-1]
        target = join(build_dir, target_dir, name + '.pyf')
        if name[0] == 'c' and atlas_version is None and newer(
                __file__, target):
            f = open(target, 'w')
            f.write('python module ' + name + '\n')
            f.write('usercode void empty_module(void) {}\n')
            f.write('interface\n')
            f.write('subroutine empty_module()\n')
            f.write('intent(c) empty_module\n')
            f.write('end subroutine empty_module\n')
            f.write('end interface\nend python module' + name + '\n')
            f.close()
            return target
        if newer_group(extension.depends, target):
            generate_interface(name, extension.depends[0], target,
                               skip_names[name])
        return target

    depends = [
        'generic_fblas.pyf',
        'generic_fblas1.pyf',
        'generic_fblas2.pyf',
        'generic_fblas3.pyf',
        'interface_gen.py',
        join('src', 'fblaswrap_veclib_c.c'),
        join('src', 'fblaswrap.f'),
    ]

    # fblas:
    if needs_cblas_wrapper(lapack_opt):
        config.add_extension(
            'fblas',
            sources=[generate_pyf,
                     join('src', 'fblaswrap_veclib_c.c')],
            depends=depends,
            extra_info=lapack_opt)
    else:
        config.add_extension(
            'fblas',
            sources=[generate_pyf, join('src', 'fblaswrap.f')],
            depends=depends,
            extra_info=lapack_opt)

    # cblas:
    config.add_extension('cblas',
                         sources=[generate_pyf],
                         depends=[
                             'generic_cblas.pyf', 'generic_cblas1.pyf',
                             'interface_gen.py'
                         ],
                         extra_info=lapack_opt)

    # flapack:
    config.add_extension('flapack',
                         sources=[generate_pyf],
                         depends=[
                             'generic_flapack.pyf',
                             'flapack_user_routines.pyf', 'interface_gen.py'
                         ],
                         extra_info=lapack_opt)

    # clapack:
    config.add_extension('clapack',
                         sources=[generate_pyf],
                         depends=['generic_clapack.pyf', 'interface_gen.py'],
                         extra_info=lapack_opt)

    # _flinalg:
    config.add_extension('_flinalg',
                         sources=[join('src', 'det.f'),
                                  join('src', 'lu.f')],
                         extra_info=lapack_opt)

    # calc_lwork:
    config.add_extension('calc_lwork', [join('src', 'calc_lwork.f')],
                         extra_info=lapack_opt)

    # atlas_version:
    if os.name == 'nt' and 'FPATH' in os.environ:
        define_macros = [('NO_ATLAS_INFO', 1)]
    else:
        define_macros = []

    config.add_extension('atlas_version', ['atlas_version.c'],
                         extra_info=lapack_opt,
                         define_macros=define_macros)

    config.add_data_dir('tests')
    config.add_data_dir('benchmarks')
    return config
Beispiel #16
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError, numpy_info
    from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs
    from scipy._build_utils import (get_sgemv_fix, get_g77_abi_wrappers,
                                    split_fortran_files)

    config = Configuration('linalg', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    atlas_version = ([
        v[3:-3]
        for k, v in lapack_opt.get('define_macros', []) if k == 'ATLAS_INFO'
    ] + [None])[0]
    if atlas_version:
        print(('ATLAS version: %s' % atlas_version))

    # fblas:
    sources = ['fblas.pyf.src']
    sources += get_g77_abi_wrappers(lapack_opt)
    sources += get_sgemv_fix(lapack_opt)

    config.add_extension('_fblas',
                         sources=sources,
                         depends=['fblas_l?.pyf.src'],
                         extra_info=lapack_opt)

    # flapack:
    sources = ['flapack.pyf.src']
    sources += get_g77_abi_wrappers(lapack_opt)

    config.add_extension('_flapack',
                         sources=sources,
                         depends=['flapack_user.pyf.src'],
                         extra_info=lapack_opt)

    if atlas_version is not None:
        # cblas:
        config.add_extension('_cblas',
                             sources=['cblas.pyf.src'],
                             depends=['cblas.pyf.src', 'cblas_l1.pyf.src'],
                             extra_info=lapack_opt)

        # clapack:
        config.add_extension('_clapack',
                             sources=['clapack.pyf.src'],
                             depends=['clapack.pyf.src'],
                             extra_info=lapack_opt)

    # _flinalg:
    config.add_extension('_flinalg',
                         sources=[join('src', 'det.f'),
                                  join('src', 'lu.f')],
                         extra_info=lapack_opt)

    # _interpolative:
    routines_to_split = [
        'dfftb1',
        'dfftf1',
        'dffti1',
        'dsint1',
        'dzfft1',
        'id_srand',
        'idd_copyints',
        'idd_id2svd0',
        'idd_pairsamps',
        'idd_permute',
        'idd_permuter',
        'idd_random_transf0',
        'idd_random_transf0_inv',
        'idd_random_transf_init0',
        'idd_subselect',
        'iddp_asvd0',
        'iddp_rsvd0',
        'iddr_asvd0',
        'iddr_rsvd0',
        'idz_estrank0',
        'idz_id2svd0',
        'idz_permute',
        'idz_permuter',
        'idz_random_transf0_inv',
        'idz_random_transf_init0',
        'idz_random_transf_init00',
        'idz_realcomp',
        'idz_realcomplex',
        'idz_reco',
        'idz_subselect',
        'idzp_aid0',
        'idzp_aid1',
        'idzp_asvd0',
        'idzp_rsvd0',
        'idzr_asvd0',
        'idzr_reco',
        'idzr_rsvd0',
        'zfftb1',
        'zfftf1',
        'zffti1',
    ]
    print('Splitting linalg.interpolative Fortran source files')
    dirname = os.path.split(os.path.abspath(__file__))[0]
    fnames = split_fortran_files(join(dirname, 'src', 'id_dist', 'src'),
                                 routines_to_split)
    fnames = [join('src', 'id_dist', 'src', f) for f in fnames]
    config.add_extension('_interpolative',
                         fnames + ["interpolative.pyf"],
                         extra_info=lapack_opt)

    # _calc_lwork:
    config.add_extension('_calc_lwork', [join('src', 'calc_lwork.f')],
                         extra_info=lapack_opt)

    # _solve_toeplitz:
    config.add_extension('_solve_toeplitz',
                         sources=[('_solve_toeplitz.c')],
                         include_dirs=[get_numpy_include_dirs()])

    config.add_data_dir('tests')

    # Cython BLAS/LAPACK
    config.add_data_files('cython_blas.pxd')
    config.add_data_files('cython_lapack.pxd')

    sources = ['_blas_subroutine_wrappers.f', '_lapack_subroutine_wrappers.f']
    sources += get_g77_abi_wrappers(lapack_opt)
    sources += get_sgemv_fix(lapack_opt)
    includes = numpy_info().get_include_dirs()
    config.add_library('fwrappers', sources=sources, include_dirs=includes)

    config.add_extension('cython_blas',
                         sources=['cython_blas.c'],
                         depends=[
                             'cython_blas.pyx', 'cython_blas.pxd',
                             'fortran_defs.h', '_blas_subroutines.h'
                         ],
                         include_dirs=['.'],
                         libraries=['fwrappers'],
                         extra_info=lapack_opt)

    config.add_extension('cython_lapack',
                         sources=['cython_lapack.c'],
                         depends=[
                             'cython_lapack.pyx', 'cython_lapack.pxd',
                             'fortran_defs.h', '_lapack_subroutines.h'
                         ],
                         include_dirs=['.'],
                         libraries=['fwrappers'],
                         extra_info=lapack_opt)

    config.add_extension('_decomp_update', sources=['_decomp_update.c'])

    return config
Beispiel #17
0
def configuration(parent_package='',top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError

    from numpy.distutils.misc_util import Configuration

    config = Configuration('linalg',parent_package,top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    atlas_version = ([v[3:-3] for k,v in lapack_opt.get('define_macros',[]) \
                      if k=='ATLAS_INFO']+[None])[0]
    if atlas_version:
        print(('ATLAS version: %s' % atlas_version))

    target_dir = ''

    # fblas:
    if needs_g77_abi_wrapper(lapack_opt):
        sources = ['fblas.pyf.src', join('src', 'fblaswrap_veclib_c.c')],
    else:
        sources = ['fblas.pyf.src', join('src', 'fblaswrap.f')]

    # Note: `depends` needs to include fblaswrap(_veclib) for both files to be
    # included by "python setup.py sdist"
    config.add_extension('_fblas',
                         sources = sources,
                         depends = ['fblas_l?.pyf.src',
                                    join('src', 'fblaswrap_veclib_c.c'),
                                    join('src', 'fblaswrap.f')],
                         extra_info = lapack_opt
                         )

    # flapack:
    config.add_extension('_flapack',
                         sources = ['flapack.pyf.src'],
                         depends = ['flapack_user.pyf.src'],
                         extra_info = lapack_opt
                         )

    if atlas_version is not None:
        # cblas:
        config.add_extension('_cblas',
                             sources = ['cblas.pyf.src'],
                             depends = ['cblas.pyf.src', 'cblas_l1.pyf.src'],
                             extra_info = lapack_opt
                             )

        # clapack:
        config.add_extension('_clapack',
                             sources = ['clapack.pyf.src'],
                             depends = ['clapack.pyf.src'],
                             extra_info = lapack_opt
                             )

    # _flinalg:
    config.add_extension('_flinalg',
                         sources = [join('src','det.f'),join('src','lu.f')],
                         extra_info = lapack_opt
                         )

    # calc_lwork:
    config.add_extension('calc_lwork',
                         [join('src','calc_lwork.f')],
                         extra_info = lapack_opt
                         )

    config.add_data_dir('tests')
    config.add_data_dir('benchmarks')
    return config
Beispiel #18
0
def configuration(parent_package='', top_path=None):
    config = Configuration('mathlink', parent_package, top_path)

    #Compile the amos library
    config.add_library(
        'famos', sources=[join('amos', '*f'),
                          join('amos', 'mach', '*f')])

    #Add the g2c or gfortran libraries to the source, is there a better way?
    def generate_fortran_library(ext, build_dir):
        config_cmd = config.get_config_cmd()
        config_cmd._check_compiler()
        fc_type = config_cmd.fcompiler.compiler_type
        config_cmd._clean()

        if fc_type == 'gnu95':
            ext.libraries.append('gfortran')
        elif fc_type == 'gnu':
            ext.libraries.append('g2c')
        print("Compiler: %s,  Extend libraries: %s" % (fc_type, ext.libraries))
        return None

    config.add_extension(
        'bessel_ratios',
        sources=['bessel_ratios.cpp', generate_fortran_library],
        depends=['bessel_function_ratios.h'],
        libraries=['famos'])

    #C++ tridiagonal block solver

    #Get blas/lapack resources from numpy
    lapack_opt = config.get_info('lapack_opt')

    #Get boost SOURCE  resources from numpy
    boost_src = config.get_info('boost_python')

    if not lapack_opt:
        from numpy.distutils.system_info import NotFoundError
        raise NotFoundError('no lapack/blas resources found')

    ublock_sources = [
        'ublas_block_lu/ublocklu.cpp', 'ublas_block_lu/numimport.cpp'
    ]
    ublock_depends = [
        'ublas_block_lu/ublocklu.hpp', 'ublas_block_lu/numimport.hpp'
    ]
    ublock_compile_flags = []
    ublock_link_flags = []
    ublock_library_dirs = []
    ublock_include_dirs = ['ublas_block_lu']
    ublock_libraries = []

    #If boost_src is found, use that, otherwise use default directories
    if boost_src:
        print("Compiling boost-python from source")
        ublock_include_dirs += boost_src['include_dirs']
        ublock_libraries += boost_src['libraries']
    elif _ublock_boost_prefix:
        print("Using user configured boost-python")
        boost_include_dir = join(_ublock_boost_prefix, 'include')
        boost_library_dir = join(_ublock_boost_prefix, 'lib')
        ublock_library_dirs = [boost_library_dir]
        ublock_include_dirs = ['ublas_block_lu', boost_include_dir]
        ublock_libraries = [_ublock_boost_lib]
    else:
        print("Using system boost-python")
        boost_include_dir = "/usr/include"
        boost_library_dir = "/usr/lib"
        ublock_library_dirs = [boost_library_dir]
        ublock_include_dirs = ['ublas_block_lu', boost_include_dir]
        ublock_libraries = ['boost_python-mt']

    if _ublock_compile_with_openmp:
        ublock_compile_flags += ['-fopenmp', '-ftree-vectorize']
        ublock_link_flags += ['-lgomp']

    if _ublock_compile:
        config.add_extension('ublocklu',
                             sources=ublock_sources,
                             depends=ublock_depends,
                             library_dirs=ublock_library_dirs,
                             include_dirs=ublock_include_dirs,
                             libraries=ublock_libraries,
                             extra_compile_args=ublock_compile_flags,
                             extra_link_args=ublock_link_flags,
                             extra_info=lapack_opt)

    return config
Beispiel #19
0
def configuration(parent_package='', top_path=None):
    from numpy.distutils.system_info import get_info, NotFoundError

    from numpy.distutils.misc_util import Configuration

    config = Configuration('linalg', parent_package, top_path)

    lapack_opt = get_info('lapack_opt')

    if not lapack_opt:
        raise NotFoundError('no lapack/blas resources found')

    atlas_version = ([
        v[3:-3]
        for k, v in lapack_opt.get('define_macros', []) if k == 'ATLAS_INFO'
    ] + [None])[0]
    if atlas_version:
        print(('ATLAS version: %s' % atlas_version))

    # fblas:
    if needs_g77_abi_wrapper(lapack_opt):
        sources = ['fblas.pyf.src', join('src', 'fblaswrap_veclib_c.c')],
    else:
        sources = ['fblas.pyf.src', join('src', 'fblaswrap_dummy.f')]

    # Note: `depends` needs to include fblaswrap(_veclib) for both files to be
    # included by "python setup.py sdist"
    config.add_extension('_fblas',
                         sources=sources,
                         depends=[
                             'fblas_l?.pyf.src',
                             join('src', 'fblaswrap_veclib_c.c'),
                             join('src', 'fblaswrap_dummy.f')
                         ],
                         extra_info=lapack_opt)

    # flapack:
    if needs_g77_abi_wrapper(lapack_opt):
        sources = ['flapack.pyf.src', join('src', 'flapackwrap_veclib.f')],
    else:
        sources = ['flapack.pyf.src', join('src', 'flapackwrap_dummy.f')]

    config.add_extension('_flapack',
                         sources=sources,
                         depends=[
                             'flapack_user.pyf.src',
                             join('src', 'flapackwrap_veclib.f'),
                             join('src', 'flapackwrap_dummy.f')
                         ],
                         extra_info=lapack_opt)

    if atlas_version is not None:
        # cblas:
        config.add_extension('_cblas',
                             sources=['cblas.pyf.src'],
                             depends=['cblas.pyf.src', 'cblas_l1.pyf.src'],
                             extra_info=lapack_opt)

        # clapack:
        config.add_extension('_clapack',
                             sources=['clapack.pyf.src'],
                             depends=['clapack.pyf.src'],
                             extra_info=lapack_opt)

    # _flinalg:
    config.add_extension('_flinalg',
                         sources=[join('src', 'det.f'),
                                  join('src', 'lu.f')],
                         extra_info=lapack_opt)

    # calc_lwork:
    config.add_extension('calc_lwork', [join('src', 'calc_lwork.f')],
                         extra_info=lapack_opt)

    # _interpolative:
    config.add_extension('_interpolative',
                         [
                             join('src', 'id_dist', 'src', fn) for fn in [
                                 'dfft.f',
                                 'idd_frm.f',
                                 'idd_house.f',
                                 'idd_id2svd.f',
                                 'idd_id.f',
                                 'iddp_aid.f',
                                 'iddp_asvd.f',
                                 'iddp_rid.f',
                                 'iddp_rsvd.f',
                                 'idd_qrpiv.f',
                                 'iddr_aid.f',
                                 'iddr_asvd.f',
                                 'iddr_rid.f',
                                 'iddr_rsvd.f',
                                 'idd_sfft.f',
                                 'idd_snorm.f',
                                 'idd_svd.f',
                                 'id_rand.f',
                                 'id_rtrans.f',
                                 'idz_frm.f',
                                 'idz_house.f',
                                 'idz_id2svd.f',
                                 'idz_id.f',
                                 'idzp_aid.f',
                                 'idzp_asvd.f',
                                 'idzp_rid.f',
                                 'idzp_rsvd.f',
                                 'idz_qrpiv.f',
                                 'idzr_aid.f',
                                 'idzr_asvd.f',
                                 'idzr_rid.f',
                                 'idzr_rsvd.f',
                                 'idz_sfft.f',
                                 'idz_snorm.f',
                                 'idz_svd.f',
                             ]
                         ] + ["interpolative.pyf"],
                         extra_info=lapack_opt)

    config.add_data_dir('tests')
    config.add_data_dir('benchmarks')
    return config