mirror of
https://github.com/vale981/ray
synced 2025-03-09 04:46:38 -04:00

* Remove all __future__ imports from RLlib. * Remove (object) again from tf_run_builder.py::TFRunBuilder. * Fix 2xLINT warnings. * Fix broken appo_policy import (must be appo_tf_policy) * Remove future imports from all other ray files (not just RLlib). * Remove future imports from all other ray files (not just RLlib). * Remove future import blocks that contain `unicode_literals` as well. Revert appo_tf_policy.py to appo_policy.py (belongs to another PR). * Add two empty lines before Schedule class. * Put back __future__ imports into determine_tests_to_run.py. Fails otherwise on a py2/print related error.
15 lines
493 B
Python
15 lines
493 B
Python
from ray.rllib.utils import try_import_tf, try_import_torch
|
|
|
|
tf = try_import_tf()
|
|
torch, nn = try_import_torch()
|
|
|
|
|
|
def explained_variance(y, pred, framework="tf"):
|
|
if framework == "tf":
|
|
_, y_var = tf.nn.moments(y, axes=[0])
|
|
_, diff_var = tf.nn.moments(y - pred, axes=[0])
|
|
return tf.maximum(-1.0, 1 - (diff_var / y_var))
|
|
else:
|
|
y_var = torch.var(y, dim=[0])
|
|
diff_var = torch.var(y - pred, dim=[0])
|
|
return max(-1.0, 1 - (diff_var / y_var))
|