zoukankan      html  css  js  c++  java
  • theano profile

      所以我建议的关闭防火墙命令是

      iptables -P INPUT ACCEPT

      iptables -P FORWARD ACCEPT

      iptables -P OUTPUT ACCEPT

      iptables -F


    .. _tut_profiling:

    =========================
    Profiling Theano function
    =========================

    .. note::

        This method replace the old ProfileMode. Do not use ProfileMode
        anymore.

    Old:

    #vim ~/.theanorc

    find [global] add:

    Mode = ProfileMode


    Besides checking for errors, another important task is to profile your
    code in terms of speed and/or memory usage.

    You can profile your
    functions using either of the following two options:


    1. Use Theano flag :attr:`config.profile` to enable profiling.
        - To enable the memory profiler use the Theano flag:
          :attr:`config.profile_memory` in addition to :attr:`config.profile`.
        - Moreover, to enable the profiling of Theano optimization phase,
          use the Theano flag: :attr:`config.profile_optimizer` in addition
          to :attr:`config.profile`.
        - You can also use the Theano flags :attr:`profiling.n_apply`,
          :attr:`profiling.n_ops` and :attr:`profiling.min_memory_size`
          to modify the quantity of information printed.

    #vim ~/.theanorc

    find [global]

    add

    Profile = True


    2. Pass the argument :attr:`profile=True` to the function :func:`theano.function <function.function>`. And then call :attr:`f.profile.print_summary()` for a single function.
        - Use this option when you want to profile not all the
          functions but one or more specific function(s).
        - You can also combine the profile of many functions:
        
          .. doctest::
              :hide:

              profile = theano.compile.ProfileStats()
              f = theano.function(..., profile=profile)  # doctest: +SKIP
              g = theano.function(..., profile=profile)  # doctest: +SKIP
              ...  # doctest: +SKIP
              profile.print_summary()

    if profile is not work:

    add lines above is useful......

    The profiler will output one profile per Theano function and profile
    that is the sum of the printed profiles. Each profile contains 4
    sections: global info, class info, Ops info and Apply node info.

    In the global section, the "Message" is the name of the Theano
    function. theano.function() has an optional parameter ``name`` that
    defaults to None. Change it to something else to help you profile many
    Theano functions. In that section, we also see the number of times the
    function was called (1) and the total time spent in all those
    calls. The time spent in Function.fn.__call__ and in thunks is useful
    to understand Theano overhead.


    to run the example:

      THEANO_FLAGS=optimizer_excluding=fusion:inplace,profile=True python doc/tutorial/profiling_example.py

    The output:

    .. literalinclude:: profiling_example_out.prof

  • 相关阅读:
    poj 1080 dp
    Codeforces Round #280 (Div. 2)
    Codeforces Round #279 (Div. 2)f
    Codeforces Round #278 (Div. 1)
    Codeforces Round #276 (Div. 1)
    搜索
    debug 心得
    ZOJ 1633
    DRF 一对多序列化与反序列化
    HTTP协议
  • 原文地址:https://www.cnblogs.com/Viewsky/p/5782634.html
Copyright © 2011-2022 走看看