【问题标题】:TFX root in TFX taxi exampleTFX 出租车示例中的 TFX 根
【发布时间】:2019-03-20 13:44:40
【问题描述】:

芝加哥出租车示例中的_tfx_root 指的是什么以及为什么需要它?

我说的是这条线:https://github.com/tensorflow/tfx/blob/master/examples/chicago_taxi_pipeline/taxi_pipeline_simple.py#L54

元数据结束管道最终在 ~/tfx 中,但没有 tfx git repo 的本地副本,它不会在 Airflow(本地)中运行。

在您手动将管道 Python 文件复制到 $AIRFLOW_HOME/dags/blabla 目录后,将在运行 airflow initdb 时创建元数据目录。不过,如果能够配置~/tfx 的位置就好了。有什么想法吗?

【问题讨论】:

    标签: tensorflow tfx


    【解决方案1】:
    code:- _tfx_root = os.path.join(os.environ['HOME'], 'tfx'); 
    

    它用于定义相对路径到名为'tfx'的目录,该目录是在登录用户的主目录(如果不存在)中创建的。其中 HOME 是一个环境变量。

    code:- _pipeline_root = os.path.join(_tfx_root, 'pipelines');
    

    使用相对路径创建/附加子目录“管道”tfx_root路径。

    code:- _metadata_db_root = os.path.join(_tfx_root, 'metadata');
    

    使用相对路径创建/追加子目录“元数据”tfx_root路径。

    code:- _log_root = os.path.join(_tfx_root, 'logs');
    

    使用相对路径创建/附加子目录“logs”tfx_root路径。

    【讨论】:

      【解决方案2】:

      是数据目录的路径。该变量仅用于构建管道的路径、元数据和根目录。

      _tfx_root = os.path.join(os.environ['HOME'], 'tfx');        // Create location ~/tfx
      _pipeline_root = os.path.join(_tfx_root, 'pipelines');      // Join ~/tfx/pipelines/
      _metadata_db_root = os.path.join(_tfx_root, 'metadata');    // Join ~/tfx/metadata/
      _log_root = os.path.join(_tfx_root, 'logs');                // Join ~/tfx/logs/
      

      只需修改_tfx_root 即可更改~/tfx 的位置。如果您希望位置为C:/temp/tfx。以此为例。

      _tfx_root = 'C:/temp/tfx/';
      

      【讨论】:

      • 但是_tfx_root 必须是 TFX 存储库的 git clone。如果它只是一个包含元数据和管道的空目录,则它不会运行。所以它不仅仅是文件系统上的一个位置。
      • 根据_tfx_root上面的评论。此示例假定所有芝加哥出租车示例代码和元数据库都相对于 $HOME。但是,您可以在本地文件系统任何地方存储这些文件。
      • 那么创建虚拟环境有什么意义呢?如果所有必需的文件都在$HOME/tfx 中,为什么我还要安装依赖项? github.com/tensorflow/tfx/tree/master/examples/…
      • 您可以将 TFX 克隆到 C:/Program Files/TFX 并在项目中设置 TFX_DIR 环境变量,而不是安装依赖项。
      • 我不知道。我打算在本地试试。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      相关资源
      最近更新 更多