You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2018/07/17 20:49:00 UTC

[jira] [Assigned] (ARROW-2872) [Python] Add pytest mark to opt into TensorFlow-related unit tests

     [ https://issues.apache.org/jira/browse/ARROW-2872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wes McKinney reassigned ARROW-2872:
-----------------------------------

    Assignee: Wes McKinney

> [Python] Add pytest mark to opt into TensorFlow-related unit tests
> ------------------------------------------------------------------
>
>                 Key: ARROW-2872
>                 URL: https://issues.apache.org/jira/browse/ARROW-2872
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Python
>            Reporter: Wes McKinney
>            Assignee: Wes McKinney
>            Priority: Major
>             Fix For: 0.10.0
>
>
> After pulling in ARROW-1744, I found this a little bit unfriendly: 
> {code}
> pyarrow/tests/test_plasma_tf_op.py::test_plasma_tf_op FAILED                   [ 82%]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> captured stdout >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> TensorFlow version: 1.8.0
> Compiling Plasma TensorFlow Op...
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> captured stderr >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> +++ dirname /home/wesm/code/arrow/python/pyarrow/tensorflow/build.sh
> ++ cd /home/wesm/code/arrow/python/pyarrow/tensorflow
> ++ pwd
> + PYARROW_TENSORFLOW_DIR=/home/wesm/code/arrow/python/pyarrow/tensorflow
> ++ python -c 'import tensorflow as tf; print(" ".join(tf.sysconfig.get_compile_flags()))'
> + TF_CFLAGS='-I/home/wesm/miniconda/envs/arrow-dev/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0'
> ++ python -c 'import tensorflow as tf; print(" ".join(tf.sysconfig.get_link_flags()))'
> + TF_LFLAGS='-L/home/wesm/miniconda/envs/arrow-dev/lib/python3.6/site-packages/tensorflow -ltensorflow_framework'
> ++ uname
> + '[' Linux == Darwin ']'
> + NDEBUG=-DNDEBUG
> ++ pkg-config --cflags --libs plasma arrow arrow-python
> + g++ -std=c++11 -g -shared /home/wesm/code/arrow/python/pyarrow/tensorflow/plasma_op.cc -o /home/wesm/code/arrow/python/pyarrow/tensorflow/plasma_op.so -DNDEBUG -I/home/wesm/local/include -I/home/wesm/miniconda/envs/arrow-dev/include/python3.6m -I/home/wesm/local/include -L/home/wesm/local/lib -lplasma -larrow_python -larrow -fPIC -I/home/wesm/miniconda/envs/arrow-dev/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -L/home/wesm/miniconda/envs/arrow-dev/lib/python3.6/site-packages/tensorflow -ltensorflow_framework -O2
> /home/wesm/code/arrow/python/pyarrow/tensorflow/plasma_op.cc:33:10: fatal error: arrow/adapters/tensorflow/convert.h: No such file or directory
>  #include "arrow/adapters/tensorflow/convert.h"
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> use_gpu = False
>     @pytest.mark.plasma
>     def test_plasma_tf_op(use_gpu=False):
>         import pyarrow.plasma as plasma
>     
> >       plasma.build_plasma_tensorflow_op()
> pyarrow/tests/test_plasma_tf_op.py:89: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> pyarrow/plasma.py:56: in build_plasma_tensorflow_op
>     subprocess.check_call(["bash", script_path])
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> popenargs = (['bash', '/home/wesm/code/arrow/python/pyarrow/tensorflow/build.sh'],)
> kwargs = {}, retcode = 1
> cmd = ['bash', '/home/wesm/code/arrow/python/pyarrow/tensorflow/build.sh']
>     def check_call(*popenargs, **kwargs):
>         """Run command with arguments.  Wait for command to complete.  If
>         the exit code was zero then return, otherwise raise
>         CalledProcessError.  The CalledProcessError object will have the
>         return code in the returncode attribute.
>     
>         The arguments are the same as for the call function.  Example:
>     
>         check_call(["ls", "-l"])
>         """
>         retcode = call(*popenargs, **kwargs)
>         if retcode:
>             cmd = kwargs.get("args")
>             if cmd is None:
>                 cmd = popenargs[0]
> >           raise CalledProcessError(retcode, cmd)
> E           subprocess.CalledProcessError: Command '['bash', '/home/wesm/code/arrow/python/pyarrow/tensorflow/build.sh']' returned non-zero exit status 1.
> ../../../miniconda/envs/arrow-dev/lib/python3.6/subprocess.py:291: CalledProcessError
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > /home/wesm/miniconda/envs/arrow-dev/lib/python3.6/subprocess.py(291)check_call()
> -> raise CalledProcessError(retcode, cmd)
> {code}
> If you pass {{-DARROW_PLASMA=ON}} but do not also pass {{-DARROW_TENSORFLOW=ON}} then this occurs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)