field-delineationを動かしたい
github.com
eolearnのdockerを起動
docker pull sentinelhub/eolearn:latest docker run -p 8888:8888 sentinelhub/eolearn:latest
eolearnが動かなかったので一度アンインストール
github.com
pip list | grep 'eo-learn-' | awk '{print $1}' | xargs pip uninstall -y
再インストール
pip install eo-learn
(追記)pipでインストールすると最新版(1.5)ではなく古いもの(0.10)がインストールされてしまうのでソースから入れる
pip install git+https://github.com/sentinel-hub/eo-learn.git
(更に追記)Shapelyのバージョンも1.7だと動かないのでバージョンを上げる。
pip uninstall shapely pip install shapely
field-delineationのレポジトリをクローンして関連ライブラリ(fd)をインストール
git clone https://github.com/sentinel-hub/field-delineation.git cd field-delineation pip install -r requirements.txt python setup.py install
(追記)
M1 MacのDocker LinuxではTensorflowが動かなかった
AVX命令セットを無効化してビルドしたTensorflowをインストールする
github.com
pip uninstall tensorflow pip install https://tf.novaal.de/core2/tensorflow-2.8.0-cp38-cp38-linux_x86_64.whl
(追記)色々やってみたが、field-delineatinoを動かす場合のeo-learnは0.10でなければいけないが、衛星画像をダウンロードするためのProcessing APIを叩くためのeo-learnは1.5である必要があり、両者は共存できない。
したがってDockerを2つ用意する。一つはfield-delineationのインストール時にeo-learnをv0.10にダウングレードしたもの。
もうひとつはデフォルトのeo-learn(v1.5)をインストールしたもの。
eo-learnのeopatchのTaskをSaveする機能を使い、docker cpを使ってeopatchをダウンロードしたフォルダを受け渡す。
→これでできると思ったら、ファイル形式がeo-learnのバージョンで異なるらしい.
ValueError: Unsupported data type for file /eopatch/bbox.geojson.
というエラーがでる。