Este repositório contém uma implementação de referência para classificação de fácies sísmicas com o K-means usando o DASF. O pipeline de classificação é mostrado na figura abaixo
Para permitir a extração de atributos sísmicos, uma versão leve do dasf-seismic
, intitulada dasf-seismic-lite
, é disponibilizada no diretório dasf-seismic-lite
.
Para instalar o dasf-seismic-lite
:
- Clone o repositório do
dasf-core
e crie uma imagem docker de cpu. Para isso, você pode executar os seguintes comandos (em uma pasta fora deste repositório), que irá gerar uma imagem docker chamadadasf:cpu
:
git clone https://github.com/discovery-unicamp/dasf-core.git
cd dasf-core/build
CONTAINER_CMD=docker ./build_container.sh cpu
- Clone este repositório e crie uma imagem docker que irá instalar o
dasf-seismic-lite
. Neste repositório, foi disponibilizado um script para facilitar a criação da imagem docker. Para isso, entre dentro do diretório raiz deste repositório e execute o scriptbuild_docker.sh
, que irá gerar uma imagem docker chamadadasf-seismic:cpu
, conforme abaixo:
./build_docker.sh
-
Dentro da pasta
data
deste repositótio, você deve colocar seus arquivos sísmicosnpy
de treino disponibilizados. No caso, o arquivoF3_train.npy
. -
Execute o comando abaixo para executar o script
reference.py
dentro do container. O parâmetro--data
informa o caminho do dado numpy:
docker run -it -v $(pwd):$(pwd) -e HOME=$(pwd) -w $(pwd) -u $(id -u):$(id -g) --network=host dasf-seismic:cpu python3 reference.py --data data/F3_train.npy
- Instancie um dask scheduler (o endereço do scheduler será mostrado no terminal, será algo semelhante a
tcp://192.168.1.164:8786
):
docker run -it -v $(pwd):$(pwd) -e HOME=$(pwd) -w $(pwd) -u $(id -u):$(id -g) --network=host dasf-seismic:cpu dask scheduler
- Instancie um dask worker e conecte-o ao shceduler criado no passo anterior (substitua
<scheduler_address>
pelo endereço do scheduler, será algo semelhante atcp://192.168.1.164:8786
)
docker run -it -v $(pwd):$(pwd) -e HOME=$(pwd) -w $(pwd) -u $(id -u):$(id -g) --network=host dasf-seismic:cpu dask worker <scheduler_address>
- Execute a implementação de referencia (
reference.py
) passando o endereço do scheduler para o parâmetro--address
(substitua<scheduler_address>
pelo endereço do scheduler, será algo semelhante atcp://192.168.1.164:8786
)
docker run -it -v $(pwd):$(pwd) -e HOME=$(pwd) -w $(pwd) -u $(id -u):$(id -g) --network=host dasf-seismic:cpu python3 reference.py --data data/F3_train.npy --address <scheduler_address>
NOTA: Lembre-se de executar os comandos acima na pasta raiz deste repositório.
- Voce pode acessar o dashborard do dask no nó que executa o scheduler, através do endereço http://localhost:8787/status
- Você pode salvar o resultado da predição da inline 0, feito pelo K-Means adicionando o parâmetro
--save-inline-fig output.png
ao script quereference.py
.