コード例 #1
0
ファイル: __main__.py プロジェクト: e0397123/returnn
def init(config_filename=None,
         command_line_options=(),
         config_updates=None,
         extra_greeting=None):
    """
  :param str|None config_filename:
  :param tuple[str]|list[str]|None command_line_options: e.g. sys.argv[1:]
  :param dict[str]|None config_updates: see :func:`init_config`
  :param str|None extra_greeting:
  """
    init_better_exchook()
    init_thread_join_hack()
    init_config(config_filename=config_filename,
                command_line_options=command_line_options,
                extra_updates=config_updates)
    if config.bool("patch_atfork", False):
        from returnn.util.basic import maybe_restart_returnn_with_atfork_patch
        maybe_restart_returnn_with_atfork_patch()
    init_log()
    if extra_greeting:
        print(extra_greeting, file=log.v1)
    returnn_greeting(config_filename=config_filename,
                     command_line_options=command_line_options)
    init_faulthandler()
    init_backend_engine()
    if BackendEngine.is_theano_selected():
        if config.value('task', 'train') == "theano_graph":
            config.set("multiprocessing", False)
        if config.bool('multiprocessing', True):
            init_cuda_not_in_main_proc_check()
    if config.bool('ipython', False):
        init_ipython_kernel()
    init_config_json_network()
    devices = init_theano_devices()
    if need_data():
        init_data()
    print_task_properties(devices)
    if config.value('task', 'train') == 'server':
        from returnn.theano.server import Server
        global server
        server = Server(config)
    else:
        init_engine(devices)
コード例 #2
0
# noinspection PyShadowingBuiltins
def print(*args, **kwargs):
    """
  ``print`` replacement.

  :param args:
  :param kwargs:
  """
    if not Quiet:
        _orig_print(*args, **kwargs)


print("RETURNN SprintControl[pid %i] Python module load" % os.getpid())

rnn.init_better_exchook()
debug.init_faulthandler(sigusr1_chain=True)  # Sprint also handles SIGUSR1.
rnn.init_thread_join_hack()

# Start Sprint PythonControl interface. {


def init(name,
         reference,
         config,
         sprint_unit=None,
         version_number=None,
         callback=None,
         **kwargs):
    """
  This will be called by Sprint PythonControl.
  But we also call it ourselves e.g. in getSegmentList() and SprintNnPythonLayer.