• Luca Citi's avatar
    Use stricter numerical tolerance in rewrites and allow casting in `PatternNodeRewriter` (#1526) · d4e8f736
    Luca Citi 提交于
    * Implemented allow_cast in PatternNodeRewriter
    to allow rewrites that would otherwise fail when the new and old dtype differ.
    Example:
    `np.array(1., "float64") - sigmoid(x)` cannot be rewritten as
    `sigmoid(-x)` (where x is an fmatrix) because the type would change.
    This commit allows an automatic cast to be added so the expression
    is rewritten as `cast(sigmoid(-x), "float64")`.
    Relevant tests added.
    
    * Added test cases for which issue #1497 fails
    
    * Changed PatternNodeRewriter::transform to allow types that do not contain dtype
    like MyType in the tests
    
    * Address #1497 by changing instances of np.isclose to a function isclose, which uses 10 ULPs by default
    
    * Addressed failed tests (with older python/numpy versions)
    
    * Addressed feedback by ricardoV94
    
    * Test PatternNodeRewriter doesn't support multi-output nodes in pattern
    
    But it's fine if they're just root inputs
    
    ---------
    Co-authored-by: 's avatarLuca Citi <lciti@ieee.org>
    Co-authored-by: 's avatarRicardo Vieira <ricardo.vieira1994@gmail.com>
    d4e8f736
名称
最后提交
最后更新
..
compile 正在载入提交数据...
d3viz 正在载入提交数据...
graph 正在载入提交数据...
link 正在载入提交数据...
misc 正在载入提交数据...
scalar 正在载入提交数据...
scan 正在载入提交数据...
sparse 正在载入提交数据...
tensor 正在载入提交数据...
typed_list 正在载入提交数据...
xtensor 正在载入提交数据...
__init__.py 正在载入提交数据...
test_breakpoint.py 正在载入提交数据...
test_config.py 正在载入提交数据...
test_gradient.py 正在载入提交数据...
test_ifelse.py 正在载入提交数据...
test_printing.py 正在载入提交数据...
test_raise_op.py 正在载入提交数据...
test_rop.py 正在载入提交数据...
test_updates.py 正在载入提交数据...
unittest_tools.py 正在载入提交数据...