设置Google Cloud ML的文档建议安装Tensorflow版本r0.11.我观察到在r0.12中新提供的TensorFlow函数在Cloud ML上运行时会引发异常.Cloud ML是否支持r0.12的时间表?r0.11和r0.12之间的切换是可选的还是强制的?
我想确定库中每个python模块的导入,以便在自定义配置管理框架中使用.我见过像snakefood这样的工具,但我更喜欢在正常程序执行期间计算依赖图,而不是编译步骤.
到目前为止,我已经尝试编写自定义Finder和Loader.这两种方法在第一次导入模块时按预期工作,但由于sys.modules缓存而不会在后续导入时触发.
我可以__built__.__import__在每次导入模块时覆盖通知,但是从PEP 302开始,这种方法似乎是不明智的.
我可以在sys.modules缓存查找前放置导入钩子吗?或者另一种快速计算依赖关系的方法?
对于以前版本的TensorFlow,我们已经覆盖了tf.logging._logger在我们的python代码库的其余部分中使用自定义日志记录行为的处理程序:
例如,在TF 1.7上,以下代码段(省略了一些日志记录样板)
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.INFO)
tf_logging = tf.logging._logger
tf_logging.handlers = [_std_out_handler()]
tf_logging.propagate = False
_logging.info("EXPECTED LOG FORMAT")
tf.logging.info("TF LOG FORMAT")
Run Code Online (Sandbox Code Playgroud)
产生
[INFO |mrtx] 2018-05-18 15:10:07,613 /merantix_core/common/util/logging.py:189 --- EXPECTED LOG FORMAT
[INFO |mrtx] 2018-05-18 15:10:07,614 /usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/tf_logging.py:116 --- TF LOG FORMAT
Run Code Online (Sandbox Code Playgroud)
在TF 1.8中,tf.logging._logger不再可访问.根据这个帖子,我尝试了设置
tf_logging = _logging.getLogger('tensorflow')
Run Code Online (Sandbox Code Playgroud)
在上面的代码片段中,输出是
[INFO |mrtx] 2018-05-18 15:20:34,043 /merantix_core/common/util/logging.py:190 --- EXPECTED LOG FORMAT
INFO:tensorflow:TF LOG FORMAT
Run Code Online (Sandbox Code Playgroud)
我没有看到TF 1.7和1.8之间的tf_logging.py有任何变化.我假设之前没有强制执行tf_export调用,但现在正在执行.还有一些方法可以覆盖处理程序tf.logging吗?或者,是否有更规范的方式来获得上述功能?