caffe2源码


咖啡2 Caffe2 Github20170803
资源截图
代码片段和文件信息
#!/usr/bin/env python

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

from hypothesis import given
import hypothesis.strategies as st
from multiprocessing import Process Queue

import numpy as np
import os
import pickle
import tempfile
import shutil

from caffe2.python import core workspace dyndep
import caffe2.python.hypothesis_test_util as hu

dyndep.InitOpsLibrary(“@/caffe2/caffe2/distributed:file_store_handler_ops“)
dyndep.InitOpsLibrary(“@/caffe2/caffe2/distributed:redis_store_handler_ops“)
dyndep.InitOpsLibrary(“@/caffe2/caffe2/distributed:store_ops“)
dyndep.InitOpsLibrary(“@/caffe2/caffe2/contrib/gloo:gloo_ops“)
dyndep.InitOpsLibrary(“@/caffe2/caffe2/contrib/gloo:gloo_ops_gpu“)

op_engine = ‘GLOO‘


class TemporaryDirectory:
    def __enter__(self):
        self.tmpdir = tempfile.mkdtemp()
        return self.tmpdir

    def __exit__(self type value traceback):
        shutil.rmtree(self.tmpdir)


class TestCase(hu.HypothesisTestCase):
    test_counter = 0
    sync_counter = 0

    def run_test_locally(self fn device_option=None **kwargs):
        # Queue for assertion errors on subprocesses
        queue = Queue()

        # Capture any exception thrown by the subprocess
        def run_fn(*args **kwargs):
            try:
                with core.DeviceScope(device_option):
                    fn(*args **kwargs)
                    workspace.ResetWorkspace()
            except Exception as ex:
                queue.put(ex)

        # Start N processes in the background
        procs = []
        for i in range(kwargs[‘comm_size‘]):
            kwargs[‘comm_rank‘] = i
            proc = Process(
                target=run_fn
                kwargs=kwargs)
            proc.start()
            procs.append(proc)

        # Test complete join background processes
        while len(procs) > 0:
            proc = procs.pop(0)
            while proc.is_alive():
                proc.join(1)

                # Raise exception if we find any.
                # Note that the following is executed ALSO after
                # the last process was joined so if ANY exception
                # was raised it will be re-raised here.
                if not queue.empty():
                    raise queue.get()

    def run_test_distributed(self fn device_option=None **kwargs):
        comm_rank = os.getenv(‘COMM_RANK‘)
        self.assertIsNotNone(comm_rank)
        comm_size = os.getenv(‘COMM_SIZE‘)
        self.assertIsNotNone(comm_size)
        kwargs[‘comm_rank‘] = int(comm_rank)
        kwargs[‘comm_size‘] = int(comm_size)
        with core.DeviceScope(device_option):
            fn(**kwargs)
            workspace.ResetWorkspace()

    def create_common_world(self comm_rank comm_size tmpdir=None):
        store_handler = “store_handler“

        # If REDIS_HOST is set use RedisStoreHandler for rendezvous.
        redis_host = os

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-24 00:21  caffe2-master
     文件      101792  2017-07-24 00:21  caffe2-master.Doxyfile
     文件      108213  2017-07-24 00:21  caffe2-master.Doxyfile-c
     文件      107563  2017-07-24 00:21  caffe2-master.Doxyfile-python
     文件         934  2017-07-24 00:21  caffe2-master.gitignore
     文件        1964  2017-07-24 00:21  caffe2-master.gitmodules
     文件         705  2017-07-24 00:21  caffe2-master.travis.yml
     目录           0  2017-07-24 00:21  caffe2-master.travis
     文件        1206  2017-07-24 00:21  caffe2-master.travisuild.sh
     文件        7093  2017-07-24 00:21  caffe2-master.travisinstall.sh
     文件        1024  2017-07-24 00:21  caffe2-master.travissetup.sh
     文件         457  2017-07-24 00:21  caffe2-master.travis est.sh
     文件        3916  2017-07-24 00:21  caffe2-masterCMakeLists.txt
     文件        5790  2017-07-24 00:21  caffe2-masterLICENSE
     文件         527  2017-07-24 00:21  caffe2-masterMakefile
     文件        1988  2017-07-24 00:21  caffe2-masterPATENTS
     文件        1693  2017-07-24 00:21  caffe2-masterREADME.md
     文件        1499  2017-07-24 00:21  caffe2-masterappveyor.yml
     目录           0  2017-07-24 00:21  caffe2-mastercaffe
     目录           0  2017-07-24 00:21  caffe2-mastercaffeproto
     文件         385  2017-07-24 00:21  caffe2-mastercaffeprotoCMakeLists.txt
     文件       57546  2017-07-24 00:21  caffe2-mastercaffeprotocaffe.proto
     目录           0  2017-07-24 00:21  caffe2-mastercaffe2
     文件       10157  2017-07-24 00:21  caffe2-mastercaffe2CMakeLists.txt
     目录           0  2017-07-24 00:21  caffe2-mastercaffe2inaries
     文件         902  2017-07-24 00:21  caffe2-mastercaffe2inariesCMakeLists.txt
     文件        2777  2017-07-24 00:21  caffe2-mastercaffe2inariesconvert_caffe_image_db.cc
     文件        1305  2017-07-24 00:21  caffe2-mastercaffe2inariesconvert_db.cc
     文件        4687  2017-07-24 00:21  caffe2-mastercaffe2inariesconvert_encoded_to_raw_leveldb.cc
     文件        4981  2017-07-24 00:21  caffe2-mastercaffe2inariescore_overhead_benchmark.cc
     文件        2743  2017-07-24 00:21  caffe2-mastercaffe2inariesdb_throughput.cc
............此处省略1151个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)