YOLOv3 を tflite に convert する処理で pull request してみました
https://medium.com/@nobilearn/11155791c222
の続きです。
pull request が無事に merge されました!
ので、今回はこの original のリポジトリの更新を fork 先の自分のリポジトリに merge したいと思います。
なお、使用するリポジトリ名などは、今回実際に行ったものを記載していますので、ご利用の際にはご自身の環境に応じてご変更ください。
リモートリポジトリを追加
_
リモートリポジトリは、最初は origin のみです。
git remote というコマンドで確認することができます。
tensorflow-yolov4-tflite $ git remote
origin
ここに、original(fork 元)のリポジトリを git remote add で追加します。
ここでは "fork_origin" という名前で追加しています。
$ git remote add fork_origin
tensorflow-yolov4-tflite $ git remote add fork_origin https://github.com/hunglc007/tensorflow-yolov4-tflitetensorflow-yolov4-tflite $ git remote
fork_origin
origin
追加されました。
merge する
_
merge する branch (= master) に switch しておきます。
tensorflow-yolov4-tflite $ git checkout mastertensorflow-yolov4-tflite $ git branch -a
* fix_yolov3_convert
master
remotes/fork_origin/master
remotes/origin/HEAD -> origin/master
remotes/origin/fix_yolov3_convert
remotes/origin/master
更新を fetch して merge します。
tensorflow-yolov4-tflite $ git fetch fork_origintensorflow-yolov4-tflite $ git merge fork_origin/master
Updating 350f4bd..1b79f20
Fast-forward
benchmarks.py | 2 +-
convert_tflite.py | 8 +++++---
save_model.py | 6 +++---
3 files changed, 9 insertions(+), 7 deletions(-)
コミットログを確認すると、きちんと merge されています。
tensorflow-yolov4-tflite $ git log -2 convert_tflite.py commit bbecd37d374503529bf46cdb867091532b9b9084 (origin/fix_yolov3_convert, fix_yolov3_convert)
Author: nobi <nobilearn@users.noreply.github.com>
Date: Thu May 14 23:35:22 2020 +0900fix error on TF 2.2.0 : 'tf.ResizeNearestNeighbor' op is neither a custom op nor a flex op.commit a80abc4f6424b5eb34d6b51ef07b4913f8aa96a1
Author: nobi <nobilearn@users.noreply.github.com>
Date: Thu May 14 23:26:38 2020 +0900fix override in the case of yolov3 model; committed as a2903f7e6fe6e780bdd430e02d6a87f75db69513.
掃除する
_
これで pull request のために作成したブランチ fix_yolov3_convert は不要になりましたので、git branch コマンドに -d option を付けて削除します。
tensorflow-yolov4-tflite $ git branch
fix_yolov3_convert
* master
$ git branch -d fix_yolov3_convert
tensorflow-yolov4-tflite $ git branch -d fix_yolov3_convert
Deleted branch fix_yolov3_convert (was bbecd37).tensorflow-yolov4-tflite $ git branch
* master
今度は、自分のリポジトリの origin に git push で変更を同期します。
tensorflow-yolov4-tflite $ git push
Username for 'https://github.com':
Password for 'https://nobilearn@github.com':
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/nobilearn/tensorflow-yolov4-tflite.git
350f4bd..1b79f20 master -> master
しかしこれだけでは、自分のリモートの fix_yolov3_convert はまだ残っています。
tensorflow-yolov4-tflite $ git branch -a
* master
remotes/fork_origin/master
remotes/origin/HEAD -> origin/master
remotes/origin/fix_yolov3_convert
remotes/origin/master
リモートリポジトリのブランチは git push --delete コマンドで削除します。
$ git push --delete origin fix_yolov3_convert
tensorflow-yolov4-tflite $ git push --delete origin fix_yolov3_convert
Username for 'https://github.com': nobilearn
Password for 'https://nobilearn@github.com':
To https://github.com/nobilearn/tensorflow-yolov4-tflite.git
- [deleted] fix_yolov3_converttensorflow-yolov4-tflite $ git branch -a
* master
remotes/fork_origin/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
これで後片付けは作業は完了です。
以後も同様の手順で fork 元の更新を merge し、今後また pull request の機会があれば branch を作成し、fork 元に投稿するという流れになります。
そしてもちろん、独自のカスタムを実装していく選択もできます。
今回の内容は以上です。
ご精読頂き、まことにありがとうございます。