2017-03-07 8 views
0

私はopenCVとtensorflowを使用するプロジェクトを持っています。テンソルフローソースをクローン化し、ソース内にlabel_imageやimage_retrainなどのファイルをいくつか作成しました。将来、私はlabel_imageからコードを使用して、いくつかのopenCVコードとマージし、そこからビルドする予定です(ビルドする必要はありますか?)。とにかく、プロジェクトをgithubにアップロードしてテンソルフローフォルダー(私が変更したい)を追加すると、テンソルフローフォルダーの.gitファイルがgithub上のテンソルフローソースを指しているため、フォルダーはグレー表示されたサブモジュールとしてアップロードされます。このフォルダを安全に削除して、フォルダを自分のgithubにアップロードすることはできますか?また、今後のbazelビルドを妥協することなく行うことはできますか?テンソルフローから.gitを遠隔操作するのは大丈夫ですか?

+0

はい、問題ありません。 Gitはバージョン管理だけを管理しています。 TFバージョンを気にしない場合は、Gitフォルダを削除できます。将来的にはTFをアップグレードするのが難しくなることに注意してください... Gitサブモジュールは本当に最善の方法です。 –

+0

@EricPlaton以前にサブモジュールを使用していなかった人は、将来のTFバージョンと競合することなく、サイドで変更してビルドすることができますか? –

+0

サブモジュールは、ターゲットモジュール(ここではTF)が変更しないだけの依存関係にあるときに最適です。サブモジュールはリポジトリとコミットハッシュを指定するので、コードに依存する正確なバージョンを知ることができ、そのバージョンを制御できます(必要なときにアップグレードできます)。コードを変更する必要がある場合は、アップグレードなどの際にサブモジュールが途切れてしまう可能性があります(まだ推奨されていません)。 –

答えて

1

Bazelに関する限り、あなたのサブディレクトリがgitディレクトリであるか気にしないので、TensorFlowの.gitディレクトリを削除してgitのリストからtensorflowディレクトリを削除しても安全ですサブモジュール(.gitmodulesファイルを参照)

+0

ありがとうございます。ここでは、label_image.py(私がbazelでビルドしたもの)のコードを別のプログラム、例えばexample.pyに含めると、これもbazelでビルドする必要がありますか? –

+0

技術的には、BazelをPythonのインポートに使用する必要はありませんが、適切なインポートパスを追加する必要があります。おそらくpy_binaryのrunfilesディレクトリ(つまり、bazel-bin/pkg/label.runfiles)をPythonのインポートパスに追加するのが最善でしょう –

関連する問題