Usando Docker en un servidor linux
Línea de comando a través de PuTTy
Cuando ejecuto ODM en una máquina local, funciona bien con y sin dividir el conjunto de datos, usando
docker run -it --rm -v G: / test: / datasets / code opendronemap / odm --project-path / datasets
o
docker run -it --rm -v G: / test: / datasets / code opendronemap / odm --project-path / datasets --split 10 --split-overlay 3
Siempre que tenga los datos en una carpeta local (ya sea disco duro o disco externo USB), hace todo como se esperaba
Pero cuando lo ejecuto en el servidor, solo funciona sin el comando split:
docker run -it --rm -v / my-server / Carpeta del proyecto: / datasets / code opendronemap / odm --project-path / datasets
Funciona bien, pero tan pronto como agregue
- dividir 10 - dividir-superponer 3
al código, obtengo el siguiente error:
[INFO] ejecutando / code / SuperBuild / src / opensfm / bin / opensfm create_submodels> / var / www / data / 44a86e01-7ff1-4848-a6b6-711097026c96 / opensfm
Rastreo (llamadas recientes más última):
Archivo “/ code / SuperBuild / src / opensfm / bin / opensfm”, línea 34, en
command.run (argumentos)
Archivo "/code/SuperBuild/src/opensfm/opensfm/commands/create_submodels.py", línea 37, en ejecución
meta_data.load_clusters_with_neighbors ())
Archivo “/code/SuperBuild/src/opensfm/opensfm/large/metadataset.py”, línea 154, en> create_submodels
os.symlink (src_relpath, dst)
OSError: [Errno 95] Operación no admitida
Rastreo (llamadas recientes más última):
Archivo “/code/run.py”, línea 56, en
app.execute ()
Archivo "/code/stages/odm_app.py", línea 93, en ejecución
self.first_stage.run ()
Archivo "/code/opendm/types.py", línea 376, en ejecución
self.next_stage.run (salidas)
Archivo "/code/opendm/types.py", línea 357, en ejecución
self.process (self.args, salidas)
Archivo "/code/stages/splitmerge.py", línea 65, en proceso
octx.run ("crear_submodelos")
Archivo "/code/opendm/osfm.py", línea 21, en ejecución
(context.opensfm_path, comando, self.opensfm_project_path))
Archivo "/code/opendm/system.py", línea 76, en ejecución
Excepción de aumento (formato "Niño devuelto {}". (código de ret))
Excepción: Niño devuelto 1
Parece que opensfm tiene problemas para leer / escribir la carpeta de submodelos. Me han agregado al grupo de usuarios de la ventana acoplable, pero no tengo derechos de sudo cuando ejecuto el comando.
El comportamiento esperado es que ODM crea las carpetas del submodelo y procesa el conjunto de datos en fragmentos, por lo que luego puedo extraer la ortofoto y DSM de cada submodelo para trabajar con archivos tif más pequeños después
Ejecute ODM con --split en un disco de servidor
He estado yendo y viniendo con el administrador del servidor, y creo que hemos encontrado el problema:
Symlinks tiene problemas cuando se ejecuta en un sistema de archivos cifs, lo que requiere agregar el indicador mfsymlink al comando de montaje, y es por eso que recibí el error. Después de agregar el indicador mfsymlink, el proceso funciona bien. Estoy ejecutando un conjunto de datos más grande ahora para asegurarme, pero parece que ya está arreglado.
Sí, esto tiene mucho sentido. El uso intensivo de enlaces simbólicos es un problema definitivo para el sistema de archivos.
Piero: ¿todavía consideras esto un error, o deberíamos solicitar que x-ancin agregue algo a los documentos, si pueden?
No creo que esto sea un error, sino un problema del sistema de archivos. Clausura.