首页 > 解决方案 > 如何确定提交是否进入稳定版本(TensorFlow)

问题描述

对于这个Git 问题,我看到 gitrepo 为 TensorFlow 更新了一个文件。现在我想检查是否可以在我的安装中找到更改。

我正在使用 conda 并在环境中安装了特定的 TensorFlow 版本。该文件应该在这里:tensorflow/lite/interpreter.h

但是,沿着侧面包路线~/anaconda3/envs/AI2.6/lib/python3.6/site-packages/tensorflow/lite/,我找不到该文件。

find | grep interpreter在这个文件夹树给我

./python/interpreter.py
./python/interpreter_wrapper
./python/interpreter_wrapper/ init .py
./python/interpreter_wrapper/ pycache
./python/interpreter_wrapper/ pycache / init .cpython-36.pyc
./python/interpreter_wrapper/_pywrap_tensorflow_interpreter_wrapper .so
./python/ pycache /interpreter.cpython-36.pyc

你能给我一个提示,在哪里可以找到该文件,或者如何检查一个特定的提交是否进入了 TensorFlow 的稳定版本?
谢谢


编辑:在打字时,我得到的答案是该版本在每晚版本中,但是,学习如何确定提交是否使其成为稳定版本仍然很有趣。以及为什么我找不到应该在那里的文件。

标签: pythongittensorflowgithub

解决方案


方面来看,这个问题的答案很简单,只要:

  1. 你知道提交的哈希 ID;
  2. 您想要的答案是存储库中的这个特定提交吗?

这样做的原因是 Git 提交哈希 ID 是普遍唯一的。如果某个存储库有一些提交,它在该存储库和每个其他存储库中都有该哈希 ID。因此,您只需检查存储库以查看它是否具有具有该哈希 ID 的提交,然后您就完成了。

在实践中——因为你已经把它分散在各种各样的标签中(我摘掉了的标签,因为我们在这里不讨论 Linux 编程 API)——这个答案没有用,即使在领域也没有,因为提交被复制和修改,并且某些提交的新的和改进的 - 或旧的和恶化的,或其他 - 版本将具有不同的哈希 ID。你经常关心你是否有一些提交的版本,而不是一些特定的提交

对于这个其他目的(“我有这个提交的某个版本吗?”),你有时可以使用 Git 所谓的patch-ID。要查找某个提交的补丁 ID,请通过程序运行该提交(有关详细信息git patch-ID请阅读链接文档)。然后,也运行可能匹配的提交git patch-ID。如果它们产生相同的补丁 ID,它们是等效的提交,即使它们在技术上不同,因此具有不同的哈希ID。

一种更通用、更有用、更便携的方式来确定您是否有某些特定功能需要维护人员的努力:变更日志、功能测试和文档。如果某些东西带来了新行为、新文件或其他任何东西,则应该记录在案,并且在某些情况下,您可能希望在您的编程语言中拥有一种测试此功能是否存在的方法。特别是在中,核心文档有,例如,这样的东西

subprocess.run(args, *, stdin=None,……
     _

3.5 版中的新功能。
在 3.6 版更改:添加了编码错误参数
...

您还可以使用 Python 结构,例如:

try:
    import what.ever
except ImportError:
    ... do whatever you need here ...

和类似的技巧,以及导入sys和检查sys.version等。

该文件应该在这里:tensorflow/lite/interpreter.h

用于测试路径中文件是否存在的特定于操作系统的方法取决于操作系统,但是当使用时,您可以根据 GitHub 人员使用的系统方案从文件名构造 URL。例如,是在 Git 存储库镜像中查看 GitHub 上 Git 本身的分支的尖端提交https://github.com/git/git/blob/seen/Makefile版本的 URL 。Makefileseen


推荐阅读