Git Product home page Git Product logo

pytorch_scatter's Introduction

PyTorch Scatter

PyPI Version Testing Status Linting Status Docs Status Code Coverage


Documentation

This package consists of a small extension library of highly optimized sparse update (scatter and segment) operations for the use in PyTorch, which are missing in the main package. Scatter and segment operations can be roughly described as reduce operations based on a given "group-index" tensor. Segment operations require the "group-index" tensor to be sorted, whereas scatter operations are not subject to these requirements.

The package consists of the following operations with reduction types "sum"|"mean"|"min"|"max":

In addition, we provide the following composite functions which make use of scatter_* operations under the hood: scatter_std, scatter_logsumexp, scatter_softmax and scatter_log_softmax.

All included operations are broadcastable, work on varying data types, are implemented both for CPU and GPU with corresponding backward implementations, and are fully traceable.

Installation

Anaconda

Update: You can now install pytorch-scatter via Anaconda for all major OS/PyTorch/CUDA combinations 🤗 Given that you have pytorch >= 1.8.0 installed, simply run

conda install pytorch-scatter -c pyg

Binaries

We alternatively provide pip wheels for all major OS/PyTorch/CUDA combinations, see here.

PyTorch 2.3

To install the binaries for PyTorch 2.3.0, simply run

pip install torch-scatter -f https://data.pyg.org/whl/torch-2.3.0+${CUDA}.html

where ${CUDA} should be replaced by either cpu, cu118, or cu121 depending on your PyTorch installation.

cpu cu118 cu121
Linux
Windows
macOS

PyTorch 2.2

To install the binaries for PyTorch 2.2.0, simply run

pip install torch-scatter -f https://data.pyg.org/whl/torch-2.2.0+${CUDA}.html

where ${CUDA} should be replaced by either cpu, cu118, or cu121 depending on your PyTorch installation.

cpu cu118 cu121
Linux
Windows
macOS

Note: Binaries of older versions are also provided for PyTorch 1.4.0, PyTorch 1.5.0, PyTorch 1.6.0, PyTorch 1.7.0/1.7.1, PyTorch 1.8.0/1.8.1, PyTorch 1.9.0, PyTorch 1.10.0/1.10.1/1.10.2, PyTorch 1.11.0, PyTorch 1.12.0/1.12.1, PyTorch 1.13.0/1.13.1, PyTorch 2.0.0/2.0.1, and PyTorch 2.1.0/2.1.1/2.1.2 (following the same procedure). For older versions, you need to explicitly specify the latest supported version number or install via pip install --no-index in order to prevent a manual installation from source. You can look up the latest supported version number here.

From source

Ensure that at least PyTorch 1.4.0 is installed and verify that cuda/bin and cuda/include are in your $PATH and $CPATH respectively, e.g.:

$ python -c "import torch; print(torch.__version__)"
>>> 1.4.0

$ echo $PATH
>>> /usr/local/cuda/bin:...

$ echo $CPATH
>>> /usr/local/cuda/include:...

Then run:

pip install torch-scatter

When running in a docker container without NVIDIA driver, PyTorch needs to evaluate the compute capabilities and may fail. In this case, ensure that the compute capabilities are set via TORCH_CUDA_ARCH_LIST, e.g.:

export TORCH_CUDA_ARCH_LIST = "6.0 6.1 7.2+PTX 7.5+PTX"

Example

import torch
from torch_scatter import scatter_max

src = torch.tensor([[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]])
index = torch.tensor([[4, 5, 4, 2, 3], [0, 0, 2, 2, 1]])

out, argmax = scatter_max(src, index, dim=-1)
print(out)
tensor([[0, 0, 4, 3, 2, 0],
        [2, 4, 3, 0, 0, 0]])

print(argmax)
tensor([[5, 5, 3, 4, 0, 1]
        [1, 4, 3, 5, 5, 5]])

Running tests

pytest

C++ API

torch-scatter also offers a C++ API that contains C++ equivalent of python models. For this, we need to add TorchLib to the -DCMAKE_PREFIX_PATH (e.g., it may exists in {CONDA}/lib/python{X.X}/site-packages/torch if installed via conda):

mkdir build
cd build
# Add -DWITH_CUDA=on support for CUDA support
cmake -DCMAKE_PREFIX_PATH="..." ..
make
make install

pytorch_scatter's People

Contributors

agarwalsaurav avatar albapa avatar amitt1236 avatar antoineprv avatar ashwinma avatar ceades avatar cmpute avatar damianszwichtenberg avatar gericovi avatar huntertracer avatar innerlee avatar jamesmyatt avatar jeffdaily avatar jhultman avatar kkleidal avatar lausannel avatar lgray avatar mallamanis avatar mpariente avatar mszarma avatar mversionpenny avatar romeov avatar rusty1s avatar sergioragostinho avatar silent567 avatar thorius avatar yanbing-j avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pytorch_scatter's Issues

pytorch 1.0 , pip install failed , can't build scatter_cpu.so ( use g++ 8.2 , no cuda , just cpu pytorch)

g++ -pthread -shared -B /home/luck/anaconda2/compiler_compat -L/home/luck/anaconda2/lib -Wl,-rpath=/home/luck/anaconda2/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/cpu/scatter.o -L/home/luck/anaconda2/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/torch_scatter/scatter_cpu.so
/home/luck/anaconda2/compiler_compat/ld: build/temp.linux-x86_64-2.7/cpu/scatter.o: unable to initialize decompress status for section .debug_info
/home/luck/anaconda2/compiler_compat/ld: build/temp.linux-x86_64-2.7/cpu/scatter.o: unable to initialize decompress status for section .debug_info
/home/luck/anaconda2/compiler_compat/ld: build/temp.linux-x86_64-2.7/cpu/scatter.o: unable to initialize decompress status for section .debug_info
/home/luck/anaconda2/compiler_compat/ld: build/temp.linux-x86_64-2.7/cpu/scatter.o: unable to initialize decompress status for section .debug_info
build/temp.linux-x86_64-2.7/cpu/scatter.o: file not recognized: File format not recognized
collect2: 错误:ld 返回 1
error: command 'g++' failed with exit status 1

Unable to import scatter_cuda

Hey

I tried installing the package via both pip and source. It works perfectly good on a cpu but when I try to import scatter_cuda on a gpu, it gives me the following error:

ImportError: /u/sodhanis/anaconda3/envs/torch0.4.1/lib/python3.6/site-packages/torch_scatter-1.0.4-py3.6-linux-x86_64.egg/scatter_cuda.cpython-36m-x86_64-linux-gnu.so: undefined symbol: THPVariableClass

I made sure to setup $PATH and $CPATH. For reference, they look like

$PATH=...anaconda3/envs/torch0.4.1/bin::/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/sbin:/usr/sbin:/sbin
$CPATH=/usr/local/cuda/include

I think it might be a PATH issue. Looking at the error, do you have any pointers as to where I should look?

Inverse of scatter_add?

Thanks for the awesome library!!

I was wondering if there's an easy way to do the inverse of scatter_add, e.g., given an input vector:

[4, 2, 1, 6, 5]

and an index vector:

[0, 2, 0, 1, 4, 2, 3, 0]

can we get the output:

[4, 1, 4, 2, 5, 1, 6, 4]

This can be achieved easily with indexing, but I want it to be faster, so I'm turning to you. Can you help?

Module import error

log

File "/home/zhousheng/.local/lib/python3.6/site-packages/torch_scatter/init.py", line 3, in
from .mul import scatter_mul
File "/home/zhousheng/.local/lib/python3.6/site-packages/torch_scatter/mul.py", line 3, in
from torch_scatter.utils.ext import get_func
File "/home/zhousheng/.local/lib/python3.6/site-packages/torch_scatter/utils/ext.py", line 5, in
import torch_scatter.scatter_cuda
ModuleNotFoundError: No module named 'torch_scatter.scatter_cuda'

Environment

OS: ubuntu 16.04
python: 3.6.7
pytorch:1.0.0

Some Cuda Error after pip install

Hi, I really appreciate about releasing this lib and pytorch-geometric.
There was a new error that did not occur in a previous installation.

Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import torch
from torch_scatter import scatter_max
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/junhyun/.conda/envs/VENV/lib/python3.6/site-packages/torch_scatter/__init__.py", line 3, in <module>
    from .mul import scatter_mul
  File "/home/junhyun/.conda/envs/VENV/lib/python3.6/site-packages/torch_scatter/mul.py", line 3, in <module>
    from torch_scatter.utils.ext import get_func
  File "/home/junhyun/.conda/envs/VENV/lib/python3.6/site-packages/torch_scatter/utils/ext.py", line 5, in <module>
    import torch_scatter.scatter_cuda
ModuleNotFoundError: No module named 'torch_scatter.scatter_cuda'

in pytorch '1.0.1.post2' version.

How can I fix it?

A failure in running `python setup.py test` at cuda 10

python setup.py test

_____________________________________ test_std[dtype2-device2-True] _____________________________________

dtype = torch.float32, device = device(type='cuda', index=0), bias = True

@pytest.mark.parametrize('dtype,device,bias', product(dtypes, devices, biass))
def test_std(dtype, device, bias):
    src = tensor([[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]], dtype, device)
    index = tensor([[0, 0, 0, 0, 0], [1, 1, 1, 1, 1]], torch.long, device)

    out = scatter_std(src, index, dim=-1, unbiased=bias)
    std = src.std(dim=-1, unbiased=bias)[0].item()
    expected = torch.tensor([[std, 0], [0, std]], dtype=out.dtype)
  assert torch.allclose(out, expected)

E RuntimeError: expected type torch.cuda.FloatTensor but got torch.FloatTensor

test/test_std.py:20: RuntimeError
____________________________________ test_std[dtype3-device3-False] _____________________________________

dtype = torch.float32, device = device(type='cuda', index=0), bias = False

@pytest.mark.parametrize('dtype,device,bias', product(dtypes, devices, biass))
def test_std(dtype, device, bias):
    src = tensor([[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]], dtype, device)
    index = tensor([[0, 0, 0, 0, 0], [1, 1, 1, 1, 1]], torch.long, device)

    out = scatter_std(src, index, dim=-1, unbiased=bias)
    std = src.std(dim=-1, unbiased=bias)[0].item()
    expected = torch.tensor([[std, 0], [0, std]], dtype=out.dtype)
  assert torch.allclose(out, expected)

E RuntimeError: expected type torch.cuda.FloatTensor but got torch.FloatTensor

test/test_std.py:20: RuntimeError
___________________________________ test_std[dtype7-device7-False] _____________________________________

dtype = torch.float64, device = device(type='cuda', index=0), bias = False

@pytest.mark.parametrize('dtype,device,bias', product(dtypes, devices, biass))
def test_std(dtype, device, bias):
    src = tensor([[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]], dtype, device)
    index = tensor([[0, 0, 0, 0, 0], [1, 1, 1, 1, 1]], torch.long, device)

    out = scatter_std(src, index, dim=-1, unbiased=bias)
    std = src.std(dim=-1, unbiased=bias)[0].item()
    expected = torch.tensor([[std, 0], [0, std]], dtype=out.dtype)
  assert torch.allclose(out, expected)

E RuntimeError: expected type torch.cuda.DoubleTensor but got torch.DoubleTensor

test/test_std.py:20: RuntimeError

----------- coverage: platform linux, python 3.6.7-final-0 -----------
Name Stmts Miss Cover

torch_scatter/init.py 10 0 100%
torch_scatter/add.py 4 0 100%
torch_scatter/div.py 14 0 100%
torch_scatter/max.py 15 0 100%
torch_scatter/mean.py 6 0 100%
torch_scatter/min.py 15 0 100%
torch_scatter/mul.py 14 0 100%
torch_scatter/std.py 14 0 100%
torch_scatter/sub.py 3 0 100%
torch_scatter/utils/init.py 0 0 100%
torch_scatter/utils/ext.py 5 0 100%
torch_scatter/utils/gen.py 13 0 100%

TOTAL 113 0 100%

================================= 4 failed, 191 passed in 3.76 seconds ==================================

Crashes on inputs with numel == 0

Hi, thanks so much for providing this package--it's very useful. I am running torch 1.0.1.post2 on Ubuntu 16.04 with NVIDIA Quadro P4000 and with torch_scatter installed recently via pip. Please see my minimum working example below which demonstrates what I feel is a bug. Notice that num_vals == 0.

import torch
from torch_scatter import scatter_mean, scatter_max

num_vals = 0
m, n, k = 4, 5, 6

src = torch.zeros((m, n, num_vals)).cuda()
index = torch.zeros((m, n, num_vals)).long().cuda()
kwargs = dict(src=src, index=index, dim=2, dim_size=k)

for _ in range(2):
    out = scatter_mean(**kwargs)
    
for _ in range(2):
    out, argmax = scatter_max(**kwargs)
  • scatter_mean, which I understand is mostly just a wrapper for torch.scatter_add_, handles the tensor.numel() == 0 case gracefully.

  • But scatter_max fails with RuntimeError: cuda runtime error (9) : invalid configuration argument at /.../aten/src/THC/generic/THCTensorMath.cu:14.

I guess the culprit is #define BLOCKS(N) (N + THREADS - 1) / THREADS in scatter_kernel.cu which doesn't work so well for N == 0.

Name of extensions

I wonder why not nesting the extensions scatter_cpu and scatter_cuda inside torch_scatter (using "torch_scatter.scatter_cpu" and "torch_scatter.scatter_cuda" as extension names).

It would avoid creating multiple top-level packages.

pip install torch-scatter error

Collecting torch-scatter
Using cached https://files.pythonhosted.org/packages/07/c0/f7ac424496f4a3bcb31aa993fba29077a6d42fc2624c66e90b58a566a98e/torch_scatter-1.2.0.tar.gz
Building wheels for collected packages: torch-scatter
Running setup.py bdist_wheel for torch-scatter ... error
Complete output from command /home/user/miniconda/envs/pytorch-1.0/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-krjbj_fd/torch-scatter/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/pip-wheel-z6xhwhio --python-tag cp36:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/max.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mean.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/std.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/add.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/init.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/div.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/sub.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/min.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mul.py -> build/lib.linux-x86_64-3.6/torch_scatter
creating build/lib.linux-x86_64-3.6/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_multi_gpu.py -> build/lib.linux-x86_64-3.6/test
copying test/init.py -> build/lib.linux-x86_64-3.6/test
copying test/test_std.py -> build/lib.linux-x86_64-3.6/test
copying test/utils.py -> build/lib.linux-x86_64-3.6/test
creating build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/init.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/gen.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/ext.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
running build_ext
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-krjbj_fd/torch-scatter/setup.py", line 44, in
packages=find_packages(),
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/setuptools/init.py", line 143, in setup
return distutils.core.setup(**attrs)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 188, in run
self.run_command('build')
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 232, in build_extensions
self._check_abi()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 370, in _check_abi
check_compiler_abi_compatibility(compiler)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 162, in check_compiler_abi_compatibility
if not check_compiler_ok_for_platform(compiler):
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 138, in check_compiler_ok_for_platform
which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'g++']' returned non-zero exit status 1.


Failed building wheel for torch-scatter
Running setup.py clean for torch-scatter
Failed to build torch-scatter
Installing collected packages: torch-scatter
Running setup.py install for torch-scatter ... error
Complete output from command /home/user/miniconda/envs/pytorch-1.0/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-krjbj_fd/torch-scatter/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-c17j79pd/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/max.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mean.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/std.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/add.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/init.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/div.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/sub.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/min.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mul.py -> build/lib.linux-x86_64-3.6/torch_scatter
creating build/lib.linux-x86_64-3.6/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_multi_gpu.py -> build/lib.linux-x86_64-3.6/test
copying test/init.py -> build/lib.linux-x86_64-3.6/test
copying test/test_std.py -> build/lib.linux-x86_64-3.6/test
copying test/utils.py -> build/lib.linux-x86_64-3.6/test
creating build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/init.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/gen.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/ext.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
running build_ext
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-krjbj_fd/torch-scatter/setup.py", line 44, in
packages=find_packages(),
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/setuptools/init.py", line 143, in setup
return distutils.core.setup(**attrs)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/command/install.py", line 545, in run
self.run_command('build')
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 232, in build_extensions
self._check_abi()
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 370, in _check_abi
check_compiler_abi_compatibility(compiler)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 162, in check_compiler_abi_compatibility
if not check_compiler_ok_for_platform(compiler):
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 138, in check_compiler_ok_for_platform
which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/home/user/miniconda/envs/pytorch-1.0/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'g++']' returned non-zero exit status 1.

----------------------------------------

Command "/home/user/miniconda/envs/pytorch-1.0/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-krjbj_fd/torch-scatter/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-c17j79pd/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-krjbj_fd/torch-scatter/

ModuleNotFoundError: No module named 'torch_scatter.scatter_cpu'

Hi, I have a CUDA 9.0 env, and the installation was successful(pip install --verbose --no-cache-dir torch-scatter), but when I run python -c "import torch_scatter", the following error occurs:
Traceback (most recent call last):
File "", line 1, in
File "/home1/xiaozhenxin/pytorch_scatter/torch_scatter/init.py", line 3, in
from .mul import scatter_mul
File "/home1/xiaozhenxin/pytorch_scatter/torch_scatter/mul.py", line 3, in
from torch_scatter.utils.ext import get_func
File "/home1/xiaozhenxin/pytorch_scatter/torch_scatter/utils/ext.py", line 2, in
import torch_scatter.scatter_cpu
ModuleNotFoundError: No module named 'torch_scatter.scatter_cpu'

Can I ask for what reason may cause something like this?

scatter_cpu undefined symbol: _ZN2at6detail20DynamicCUDAInterface10set_deviceE

import torch
from torch_scatter import scatter_max
Traceback (most recent call last):
File "", line 1, in
File "/home/ahyun/anaconda3/envs/py36torch040/lib/python3.6/site-packages/torch_scatter/init.py", line 3, in
from .mul import scatter_mul
File "/home/ahyun/anaconda3/envs/py36torch040/lib/python3.6/site-packages/torch_scatter/mul.py", line 3, in
from torch_scatter.utils.ext import get_func
File "/home/ahyun/anaconda3/envs/py36torch040/lib/python3.6/site-packages/torch_scatter/utils/ext.py", line 2, in
import scatter_cpu
ImportError: /home/ahyun/anaconda3/envs/py36torch040/lib/python3.6/site-packages/scatter_cpu.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at6detail20DynamicCUDAInterface10set_deviceE

I tried install w/ both pytorch v 0.4.0 and 0.4.1,
via pip and source and get the same error
How do I resolve this issue?

Installation issues with gcc >= 6

Installation fails using pytorch 1.0.1, python 3.6.5, cuda 9.0, gcc 6.0:
This happens both on the current master and on 1.1.1
$CPATH and $PATH are set to include cuda.

Running python setup.py install results in many errors such as:

/home/veith/Projects/py3.6/lib/python3.6/site-packages/torch/lib/include/ATen/core/TensorMethods.h:1117:48:   required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>return __and_<is_constructible<_Elements, _UElements&&>...>::value;

The full log can be found here:
install_log.txt

I am not sure what exactly the issue is!

Is scatter_add any better than pytorch version?

Hi,

I was looking for some way to speed up my scatter_add operations and came across this library. Although after switching over to this scatter_add version I'm not seeing any speed increases. From looking at the code it looks like it just adds a bit of extra checking before using the native pytorch scatter_add. Does that mean that the pytorch version is now as efficient? If so are there any other benefits to using this library? (For scatter_add I mean, I haven't looked into the other methods).

Cheers,
Tom

Scatter max cause RuntimeError for tensors with gradient

I am using scatter_max to get max logits for each of the indexed group, when I comment out the last line the code runs well.

            logits = model(batch)
            for i, (l, r) in enumerate(windowed(accumulate([0] + batch.graph.batch_num_nodes, operator.add), 2)):
                x = logits[l:r].squeeze()
                y = batch.graph.ndata['y'][l:r]
                idx = batch.graph.ndata['cid'][l:r]
                yy, _ = scatter_max(y, idx)
                # xx, _ = scatter_max(x, idx.to(device))

Howerver, if the code is excuted, I will get some RuntimeError: CUDA error: an illegal memory access was encountered.

Notice that logits is a cuda tensor, idx is a cpu tensor, I am not sure if this is the reason.

The only difference between y and x is, x contains a gradient part while y is a pure tensor.

A sample of idx is like below

tensor([   1,   11,    4,   19,   19,   19,   19,    6,   19,   11,   12,   19,
          19,   24, -100, -100,   22,   19,   19,   27,   14,   19,   19,   27,
          19,    6,   11,   14,   19,   16,   25,   15,   31,   10,    9,   31,
           1,   27,   14,   19,   21,   30,   19,   32,   19,   19,    7,   24,
          23,    5,    8,    2,   19,    4,   19,    1,   22,   18,   19,   19,
           4,   29,    0,   28,   19,   17,   19,    4,   25,   17,   19,   26,
          21,   11,   11,   12,    1,    1,    4,   19,   19,   19,   19,   19,
          19,   19,   13,    3,    4,   19,   32,   30,   19,   21,   20, -100,
        -100, -100, -100])

Any hints over this problem? Thanks!

cuda.h: No such file or directory

Hi Matthias

when I run "pip install torch-scatter", it reports
"""
/home/zhwu/anaconda2/lib/python2.7/site-packages/torch/utils/ffi/../../lib/include/THC/THCGeneral.h:12:18: fatal error: cuda.h: No such file or directory #include "cuda.h"
"""

I have included cuda path in my .bashrc. My platform is anaconda for python 2.7 and cuda-8.0. I have also try to build from your release code 1.0.3, it still doesn't work.

Zonghan

Installation issue: undefined symbol: __cudaPopCallConfiguration

On linux, when I try to install and use pytorch_scatter, I get undefined symbol: __cudaPopCallConfiguration immediately upon importing torch_scatter.

Using pytorch 1.0.0 and CUDA 9.0 is on the PATH (and include is on the CPATH):

$ python -c "import torch; print(torch.__version__)"
1.0.0
$ echo $CPATH
/usr/local/cuda-9.0/include
$ echo $PATH
/usr/local/cuda-9.0/bin:/afs/csail.mit.edu/u/d/davidbau/.conda/envs/p3t1/bin...

I've tried uninstalling and resintalling (without cache) on pip pip install --no-cache-dir torch_scatter, but the error remains. Any tips?

Details - ubuntu 16.04

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial

Environment installed via conda using the following env.yml

name: p3t1
channels:
  - pytorch
dependencies:
  - python=3.6
  - cudatoolkit=9.0
  - cudnn=7.1.2
  - pytorch=1.0
  - torchvision
  - mkl-include
  - numpy
  - scipy
  - scikit-learn
  - matplotlib
  - graphviz
  - numba
  - jupyter
  - pyyaml
  - mkl
  - setuptools
  - cmake
  - cffi
  - ujson
  - tqdm
  - pip
  - pip:
    - torch-scatter

Strange performance behaviour with large arrays

I face a strange performance behaviour in gen() function when using "larger" arrays.
Interesstingly this only happens when training with real data (mnistgraph_graclus_spline.py) and I'm not able to reproduce it with a toy example (performance_scatter_add.py). Both files are attached.

From the console log:

python mnistgraph_graclus_spline.py
Processing...
Done!
Processing...
Done!
forward() >> 0.00 s data.edge_index.shape torch.Size([2, 1170400])
forward() >> 0.00 s data.x.shape torch.Size([78400, 1])
forward() >> 0.00 s data.pos.shape torch.Size([78400, 2])
forward() >> 0.00 s data.batch tensor([ 0, 0, 0, ..., 99, 99, 99], device='cuda:0')
forward() >> 0.00 s data = max_pool(...)
forward() >> 0.02 s self.conv1(...) torch.Size([78400, 10])
forward() >> 0.02 s self.normalized_cut_2d(...) torch.Size([78400, 10])
forward() >> 0.03 s graclus(...) torch.Size([78400, 10])
forward() >> 29.09 s data.x.shape pooled torch.Size([40697, 10])
forward() >> 0.00 s data.edge_index.shape torch.Size([2, 1170400])
forward() >> 0.00 s data.x.shape torch.Size([78400, 1])
forward() >> 0.00 s data.pos.shape torch.Size([78400, 2])
forward() >> 0.00 s data.batch tensor([ 0, 0, 0, ..., 99, 99, 99], device='cuda:0')
forward() >> 0.00 s data = max_pool(...)
forward() >> 0.00 s self.conv1(...) torch.Size([78400, 10])
forward() >> 0.00 s self.normalized_cut_2d(...) torch.Size([78400, 10])
forward() >> 0.01 s graclus(...) torch.Size([78400, 10])
forward() >> 29.72 s data.x.shape pooled torch.Size([40712, 10])
forward() >> 0.00 s data.edge_index.shape torch.Size([2, 1170400])

When profiling it boils down to line 15: in gen.py:
dim_size = index.max().item() + 1 if dim_size is None else dim_size

I believe there is something strange with index.max() when the index array is in Cud memory. When I disable Cuda the performance is relatively normal.

Can you reproduce this behavior or have you encountered something similar?

Thanks in advance!
Matthias

performance_scatter_add.py.zip

mnistgraph_graclus_spline.py.zip

pip install results in a lot of errors

Hi,

I am trying to install torch-scatter on our HPC cluster for Python 3.6.4 using GCC 6.3.0.

When running

pip install --user torch-scatter

or

pip install --user --no-binary :all: torch-scatter

Then it fails with a lot of errors like for instance

    cpu/dim_apply.h:20:55: error: invalid initialization of reference of type ‘const at::Type&’ from expression of type ‘long int’
         auto zeros = at::zeros(dims, torch::CPU(at::kLong));

I have attached the full log of the "pip install" command in the file pip_install.log.

pip_install.log

Is this a known problem ?

It seems to be similar to the following problem discussed on stackoverflow:

https://stackoverflow.com/questions/11371216/error-invalid-initialization-of-reference-of-type-int-from-expression-of-typ

Best regards

Sam

Can't install on Mac

/Users/leftthomas/anaconda3/lib/python3.7/site-packages/torch/lib/include/c10/core/Allocator.h:46:8: error: no template named 'unique_ptr' in namespace 'std'
std::unique_ptr<void, DeleterFnPtr>&& move_context() {

/Users/leftthomas/anaconda3/lib/python3.7/site-packages/torch/lib/include/c10/core/Allocator.h:67:48: error: no type named 'nullptr_t' in namespace 'std'
inline bool operator==(const DataPtr& dp, std::nullptr_t) noexcept {
                                        ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command 'gcc' failed with exit status 1

Error in running python setup.py test

Hello everyone,
I am having trouble running torch-scatter.
I have installed Anaconda3, Cuda 10.0 and Pytorch 1.0.1 on Windows 10 in an attempt to follow pytorch_geometric installation guide.
I have tried to install it as mentioned in the guide pip install --upgrade torch-scatter but was not correctly installed and then tried a second way to test if the installation succeeded
$ git clone https://github.com/rusty1s/pytorch_scatter
$ cd pytorch_scatter
$ python setup.py install # Check for CUDA compilation or link error.
$ python setup.py test # Verify installation by running test suite.
but still get the screen shown in the attached picture.
pytorch_scatter

I have also tried to run an example separately in another test file as shown below:
--import torch
--from torch_scatter import scatter_max
--src = torch.tensor([[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]])
--index = torch.tensor([[4, 5, 4, 2, 3], [0, 0, 2, 2, 1]])
--out, argmax = scatter_max(src, index)

and got this error: ImportError: cannot import name 'scatter_max' from 'torch_scatter'
Could you please recommend what to do next?
Thank you in advance

ModuleNotFoundError: No module named 'scatter_cuda'

Hey

I am trying to use the package. I installed it via both pip and source. It works fine on the cpu but when I try to import scatter_cuda on a gpu, it gives me the following error:

from torch_scatter import scatter_max

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/u/sodhanis/anaconda3/envs/torch4/lib/python3.6/site-packages/torch_scatter/__init__.py", line 3, in <module>
    from .mul import scatter_mul
  File "/u/sodhanis/anaconda3/envs/torch4/lib/python3.6/site-packages/torch_scatter/mul.py", line 3, in <module>
    from torch_scatter.utils.ext import get_func
  File "/u/sodhanis/anaconda3/envs/torch4/lib/python3.6/site-packages/torch_scatter/utils/ext.py", line 5, in <module>
    import scatter_cuda
ModuleNotFoundError: No module named 'scatter_cuda'

I made sure to check te pytorch version ('0.4.1') and setup $PATH and $CPATH . For reference, they look like

$PATH=...anaconda3/envs/torch0.4.1/bin::/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/sbin:/usr/sbin:/sbin
$CPATH=/usr/local/cuda/include

Edit:

Running python3 setup.py test returns

cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
/usr/local/cuda/bin/nvcc -I/u/sodhanis/anaconda3/envs/torch4/lib/python3.6/site-packages/torch/lib/include -I/u/sodhanis/anaconda3/envs/torch4/lib/python3.6/site-packages/torch/lib/include/TH -I/u/sodhanis/anaconda3/envs/torch4/lib/python3.6/site-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/u/sodhanis/anaconda3/envs/torch4/include/python3.6m -c cuda/scatter_kernel.cu -o build/temp.linux-x86_64-3.6/cuda/scatter_kernel.o -DTORCH_EXTENSION_NAME=scatter_cuda -D_GLIBCXX_USE_CXX11_ABI=0 --compiler-options '-fPIC' -std=c++11
/u/sodhanis/anaconda3/envs/torch4/lib/python3.6/site-packages/torch/lib/include/ATen/Half-inl.h(17): error: identifier "__half_as_short" is undefined

1 error detected in the compilation of "/tmp/tmpxft_00001462_00000000-7_scatter_kernel.cpp1.ii".
error: command '/usr/local/cuda/bin/nvcc' failed with exit status 2

install error: error: command 'E:\\program files\\C#\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2

hi, while trying to install your torch-scatter, i encounter a problem which i can't fix it for a couple of days. I have built a new environment for it, and here is some information that may be concerned

(base) C:\WINDOWS\system32>activate torchwithsparse

(torchwithsparse) C:\WINDOWS\system32>python --version
Python 3.6.2 :: Continuum Analytics, Inc.

(torchwithsparse) C:\WINDOWS\system32>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:11:20_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.1, V10.1.168

(torchwithsparse) C:\WINDOWS\system32>python
Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 12:30:02) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True

And below is the error log, i would really appreciate that you can give me some advice

(torchwithsparse) C:\WINDOWS\system32>python -c "import torch; print(torch.__version__)"
1.1.0

(torchwithsparse) C:\WINDOWS\system32>pip install torch-scatter
Collecting torch-scatter
  Using cached https://files.pythonhosted.org/packages/35/d4/750403a8aa32cdb3d2d05849c6a10e4e0604de5e0cc94b81a0d0d69a75f3/torch_scatter-1.3.1.tar.gz
Building wheels for collected packages: torch-scatter
  Building wheel for torch-scatter (setup.py) ... error
  ERROR: Complete output from command 'e:\anaconda\envs\torchwithsparse\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\WANG\\AppData\\Local\\Temp\\pip-install-bkdrkgzk\\torch-scatter\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\WANG\AppData\Local\Temp\pip-wheel-vo8ut1jl' --python-tag cp36:
  ERROR: running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.6
  creating build\lib.win-amd64-3.6\test
  copying test\test_backward.py -> build\lib.win-amd64-3.6\test
  copying test\test_forward.py -> build\lib.win-amd64-3.6\test
  copying test\test_max_min.py -> build\lib.win-amd64-3.6\test
  copying test\test_multi_gpu.py -> build\lib.win-amd64-3.6\test
  copying test\test_std.py -> build\lib.win-amd64-3.6\test
  copying test\utils.py -> build\lib.win-amd64-3.6\test
  copying test\__init__.py -> build\lib.win-amd64-3.6\test
  creating build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\add.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\div.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\max.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\mean.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\min.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\mul.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\std.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\sub.py -> build\lib.win-amd64-3.6\torch_scatter
  copying torch_scatter\__init__.py -> build\lib.win-amd64-3.6\torch_scatter
  creating build\lib.win-amd64-3.6\torch_scatter\utils
  copying torch_scatter\utils\ext.py -> build\lib.win-amd64-3.6\torch_scatter\utils
  copying torch_scatter\utils\gen.py -> build\lib.win-amd64-3.6\torch_scatter\utils
  copying torch_scatter\utils\__init__.py -> build\lib.win-amd64-3.6\torch_scatter\utils
  running build_ext
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\utils\cpp_extension.py:184: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。
    warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error))
  building 'torch_scatter.scatter_cpu' extension
  creating build\temp.win-amd64-3.6
  creating build\temp.win-amd64-3.6\Release
  creating build\temp.win-amd64-3.6\Release\cpu
  E:\program files\C#\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\TH -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\THC -Ie:\anaconda\envs\torchwithsparse\include -Ie:\anaconda\envs\torchwithsparse\include "-IE:\program files\C#\VC\INCLUDE" "-IE:\program files\C#\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpcpu/scatter.cpp /Fobuild\temp.win-amd64-3.6\Release\cpu/scatter.obj -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cpu -D_GLIBCXX_USE_CXX11_ABI=0 /MD
  scatter.cpp
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(27): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“c10::Error”的基
  E:\program files\C#\VC\INCLUDE\vcruntime_exception.h(43): note: 参见“std::exception”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(27): note: 参见“c10::Error”的 声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(28): warning C4251: “c10::Error::msg_stack_”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 class“c10::Error”的客户端使用
          with
          [
              _Ty=std::string
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(29): warning C4251: “c10::Error::backtrace_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 class“c10::Error”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(34): warning C4251: “c10::Error::msg_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 class“c10::Error”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(35): warning C4251: “c10::Error::msg_without_backtrace_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口 由 class“c10::Error”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Allocator.h(21): warning C4251: “c10::DataPtr::ptr_”: class“c10::detail::UniqueVoidPtr”需要有 dll 接口由 class“c10::DataPtr”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/UniqueVoidPtr.h(38): note: 参见“c10::detail::UniqueVoidPtr”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Allocator.h(183): warning C4251: “c10::InefficientStdFunctionContext::ptr_”: class“std::unique_ptr<void,std::function<void (void *)>>”需要有 dll 接口由 struct“c10::InefficientStdFunctionContext”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorTypeIdRegistration.h(32): warning C4251: “c10::TensorTypeIdCreator::last_id_”: struct“std::atomic<unsigned char>”需要有 dll 接口由 class“c10::TensorTypeIdCreator”的客户端使用
  E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned char>”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorTypeIdRegistration.h(45): warning C4251: “c10::TensorTypeIdRegistry::registeredTypeIds_”: class“std::unordered_set<c10::TensorTypeId,std::hash<c10::TensorTypeId>,std::equal_to<_Kty>,std::allocator<_Kty>>”需要有 dll 接口由 class“c10::TensorTypeIdRegistry”的客户端使用
          with
          [
              _Kty=c10::TensorTypeId
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorTypeIdRegistration.h(46): warning C4251: “c10::TensorTypeIdRegistry::mutex_”: class“std::mutex”需要有 dll 接口由 class“c10::TensorTypeIdRegistry”的客户 端使用
  E:\program files\C#\VC\INCLUDE\mutex(76): note: 参见“std::mutex”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(168): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(171): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(174): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(177): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(181): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(184): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(187): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(190): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(196): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(199): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(202): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(205): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(209): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(212): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(215): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(218): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(70): error C2134: “caffe2::TypeIdentifier::TypeIdentifier”: 调用不会生成常数表达式
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(70): note: 对未定义的函数或为未声明为“constexpr”的函数的调用导致了故障
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(84): note: 参见“caffe2::TypeIdentifier::TypeIdentifier”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(328): error C2071: “caffe2::TypeMeta::New”: 非法的存储类
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(329): error C2071: “caffe2::TypeMeta::PlacementNew”: 非法的存储类
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(330): error C2071: “caffe2::TypeMeta::Copy”: 非法的存储类
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(331): error C2071: “caffe2::TypeMeta::PlacementDelete”: 非法的存储类
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(332): error C2071: “caffe2::TypeMeta::Delete”: 非法的存储类
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2327: “caffe2::TypeMeta::New”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2143: 语法错误: 缺少“;”(在“*”的前面)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::New”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2334: “{”��前面有 意外标记;跳过明显的函数体
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2327: “caffe2::TypeMeta::PlacementNew”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2143: 语法错误: 缺少“;”(在“*”的前面)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::PlacementNew”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2334: “{”的前面有意 外标记;跳过明显的函数体
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2327: “caffe2::TypeMeta::Copy”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2143: 语法错误: 缺少“;”(在“*”的前面)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::Copy”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2334: “{”的前面有意 外标记;跳过明显的函数体
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2327: “caffe2::TypeMeta::PlacementDelete”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2143: 语法错误: 缺少“;”(在“*”的前面)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::PlacementDelete”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2334: “{”的前面有意 外标记;跳过明显的函数体
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2327: “caffe2::TypeMeta::Delete”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2143: 语法错误: 缺少“;”(在“*”的前面)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::Delete”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2334: “{”的前面有意 外标记;跳过明显的函数体
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(355): error C2476: “constexpr”构 造函数不会初始化所有成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(328): note: 构造函数未初始化“caffe2::TypeMeta::New”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(329): note: 构造函数未初始化“caffe2::TypeMeta::PlacementNew”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(330): note: 构造函数未初始化“caffe2::TypeMeta::Copy”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(331): note: 构造函数未初始化“caffe2::TypeMeta::PlacementDelete”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(332): note: 构造函数未初始化“caffe2::TypeMeta::Delete”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorOptions.h(526): error C2338: TensorOptions must fit in 128-bits
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(58): warning C4251: “c10::intrusive_ptr_target::refcount_”: struct“std::atomic<unsigned __int64>”需要有 dll 接口由 class“c10::intrusive_ptr_target”的客户端使用
  E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned __int64>”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(59): warning C4251: “c10::intrusive_ptr_target::weakcount_”: struct“std::atomic<unsigned __int64>”需要有 dll 接口由 class“c10::intrusive_ptr_target”的客户端使用
  E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned __int64>”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(723): warning C4267: “return”: 从“size_t”转换到“uint32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(757): warning C4267: “return”: 从“size_t”转换到“uint32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Storage.h(181): warning C4251: “c10::Storage::storage_impl_”: class“c10::intrusive_ptr<c10::StorageImpl,c10::detail::intrusive_target_default_null_type<TTarget>>”需要有 dll 接口由 struct“c10::Storage”的客户端使用
          with
          [
              TTarget=c10::StorageImpl
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/logging_is_not_google_glog.h(47): warning C4251: “c10::MessageLogger::stream_”: class“std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 class“c10::MessageLogger”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(193): warning C4251: “c10::VariableVersion::version_block_”: class“std::shared_ptr<std::atomic<unsigned int>>”需要有 dll 接口由 struct“c10::VariableVersion”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1466): warning C4251: “c10::TensorImpl::autograd_meta_”: class“std::unique_ptr<c10::AutogradMetaInterface,std::default_delete<_Ty>>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
          with
          [
              _Ty=c10::AutogradMetaInterface
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1476): warning C4251: “c10::TensorImpl::sizes_”: class“c10::SmallVector<int64_t,5>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1477): warning C4251: “c10::TensorImpl::strides_”: class“c10::SmallVector<int64_t,5>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1499): warning C4251: “c10::TensorImpl::device_opt_”: class“c10::optional<c10::Device>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1018): warning C4244: “参数”: 从“float”转换到“const size_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1024): error C2039: “copy”:  不是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1028): error C2039: “copy”:  不是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1258): error C2039: “placementDelete”: 不是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1274): error C2039: “placementNew”: 不是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1287): error C2039: “placementNew”: 不是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1292): error C2039: “placementDelete”: 不是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1295): error C3536: “dtor”:  初始化之前无法使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1295): error C2664: “c10::DataPtr c10::PlacementDeleteContext::makeDataPtr(c10::DataPtr &&,c10::PlacementDtor,size_t,c10::Device)”: 无法将参数 2 从“int”转换为“c10::PlacementDtor”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1295): note: 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1296): error C2039: “placementNew”: 不是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1416): warning C4244: “初始化 ”: 从“int64_t”转换到“int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1584): error C2338: You changed the size of TensorImpl on 64-bit arch.See Note [TensorImpl size constraints] on how to proceed.
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(38): error C2071: “at::LegacyTypeDeleter::TypeDeleterFun”: 非法的存储类
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C2327: “at::LegacyTypeDeleter::TypeDeleterFun”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C2143: 语法错误: 缺少“;”(在“*”的前面)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C2238: 意外的标记位于“;”之前
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2327: “at::LegacyTypeDeleter::TypeDeleterFun”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2061: 语法错误: 标识符“TypeDeleterFun”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2535: “at::LegacyTypeDeleter::LegacyTypeDeleter(void)”: 已经定义或声明成员函数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(40): note: 参见“at::LegacyTypeDeleter::LegacyTypeDeleter”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2065: “fn”: 未声明的标识符
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2614: “at::LegacyTypeDeleter”: 非法的成员初始化:“fn_”不是基或成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(43): error C2065: “fn_”: 未声明的标识符
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(44): error C2065: “fn_”: 未声明的标识符
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(137): warning C4251:  “at::LegacyTypeDispatch::type_registry”: class“std::unique_ptr<at::Type,at::LegacyTypeDeleter>”需要有 dll 接口由 class“at::LegacyTypeDispatch”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/DeprecatedTypePropertiesRegistry.h(27): warning C4251: “at::DeprecatedTypePropertiesRegistry::registry”: class“std::unique_ptr<at::DeprecatedTypeProperties,std::default_delete<_Ty>>”需要有 dll 接口由 class“at::DeprecatedTypePropertiesRegistry”的客户端使用
          with
          [
              _Ty=at::DeprecatedTypeProperties
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/Tensor.h(773): warning C4251: “at::Tensor::impl_”: class“c10::intrusive_ptr<c10::TensorImpl,c10::UndefinedTensorImpl>”需要有 dll 接口由 class“at::Tensor”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/Tensor.h(774): warning C4522: “at::Tensor ”: 指定了多个赋值运算符
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/Tensor.h(801): warning C4251: “at::WeakTensor::weak_impl_”: class“c10::weak_intrusive_ptr<TTarget,NullType>”需要有 dll 接口由 struct“at::WeakTensor”的客户端 使用
          with
          [
              TTarget=c10::TensorImpl,
              NullType=c10::UndefinedTensorImpl
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(49): error C2071: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleterFun”: 非法的存储类
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C2327: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleterFun”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C2143: 语法错误:  缺少“;”(在“*”的前面)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C4430: 缺少类型说 明符 - 假定为 int。注意: C++ 不支持默认 int
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C2238: 意外的标记 位于“;”之前
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2327: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleterFun”: 不是类型名称、静态或枚举数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2061: 语法错误:  标识符“LegacyTHDispatcherDeleterFun”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2535: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleter(void)”: 已经定义或声明成员函数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(51): note: 参见“at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleter”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2065: “fn”: 未 声明的标识符
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2614: “at::LegacyTHDispatcherDeleter”: 非法的成员初始化:“fn_”不是基或成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(54): error C2065: “fn_”: 未声明的标识符
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(55): error C2065: “fn_”: 未声明的标识符
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(122): warning C4251: “at::LegacyTHDispatch::dispatcher_registry”: class“std::unique_ptr<at::LegacyTHDispatcher,at::LegacyTHDispatcherDeleter>”需 要有 dll 接口由 class“at::LegacyTHDispatch”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Stream.h(126): warning C4244: “参数”: 从“unsigned __int64”转换到“c10::DeviceIndex”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Stream.h(126): warning C4244: “参数”: 从“unsigned __int64”转换到“c10::StreamId”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/impl/DeviceGuardImplInterface.h(137): warning C4800: “const c10::impl::DeviceGuardImplInterface *”: 将值强制为布尔值“true”或“false”(性能警告)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(134): warning C4251: “at::Context::generator_registry”: class“std::unique_ptr<at::Generator,std::default_delete<_Ty>>”需要有 dll 接口由 class“at::Context”的客户端使用
          with
          [
              _Ty=at::Generator
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(151): warning C4251: “at::Context::thc_init”: struct“std::once_flag”需要有 dll 接口由 class“at::Context”的客户端使用
  E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(152): warning C4251: “at::Context::thh_init”: struct“std::once_flag”需要有 dll 接口由 class“at::Context”的客户端使用
  E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(153): warning C4251: “at::Context::complex_init_”: struct“std::once_flag”需要有 dll 接口由 class“at::Context”的客户端使用
  E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(157): warning C4251: “at::Context::next_id”: struct“std::atomic<unsigned __int64>”需要有 dll 接口由 class“at::Context”的客户端使用
  E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned __int64>”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(158): warning C4251: “at::Context::thc_state”: class“std::unique_ptr<THCState,void (__cdecl *)(THCState *)>”需要有 dll 接口由 class“at::Context”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(159): warning C4251: “at::Context::thh_state”: class“std::unique_ptr<THHState,void (__cdecl *)(THHState *)>”需要有 dll 接口由 class“at::Context”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(52): error C2440: “<function-style-cast>”: 无法从“at::Context::registerType::<lambda_1fc99ff75cd149d173424b282353a33b>”转换为“at::LegacyTypeDeleter”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(52): note: 无构造函数可以接受源类型, 或构造函数重载决策不明确
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(57): error C2440: “<function-style-cast>”: 无法从“at::Context::registerLegacyTHDispatcher::<lambda_b06be8ac5025571199e3700984197321>”转换为“at::LegacyTHDispatcherDeleter”
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(57): note: 无构造函数可以接受源类型, 或构造函数重载决策不明确
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/TensorGeometry.h(56): warning C4251: “at::TensorGeometry::sizes_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“at::TensorGeometry”的客户端使用
          with
          [
              _Ty=int64_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/TensorGeometry.h(57): warning C4251: “at::TensorGeometry::strides_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“at::TensorGeometry”的客户端使用
          with
          [
              _Ty=int64_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/utils/hash.h(70): error C2995: “unknown-type torch::_hash_detail::dispatch_hash(const T &)”: 函数模板已经定义
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/utils/hash.h(57): note: 参见“torch::_hash_detail::dispatch_hash”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(331): warning C4251:  “torch::autograd::Variable::AutogradMeta::name”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(334): warning C4251:  “torch::autograd::Variable::AutogradMeta::grad_fn_”: class“std::shared_ptr<torch::autograd::Function>”需要有 dll 接 口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(335): warning C4251:  “torch::autograd::Variable::AutogradMeta::grad_accumulator_”: class“std::weak_ptr<torch::autograd::Function>”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(337): warning C4251:  “torch::autograd::Variable::AutogradMeta::hooks_”: class“std::vector<std::shared_ptr<torch::autograd::FunctionPreHook>,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
          with
          [
              _Ty=std::shared_ptr<torch::autograd::FunctionPreHook>
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(353): warning C4251:  “torch::autograd::Variable::AutogradMeta::mutex_”: class“std::mutex”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
  E:\program files\C#\VC\INCLUDE\mutex(76): note: 参见“std::mutex”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/blob.h(191): error C2039: “deleteFn”: 不 是“caffe2::TypeMeta”的成员
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(27): warning C4251: “c10::ivalue::ConstantString::str_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ivalue::ConstantString”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<Elem>::elements_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<Elem>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(72): note: 参见对正在编译的类 模板 实例化“c10::ivalue::List<Elem>”的引用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<c10::IValue>::elements_”: class“std::vector<Elem,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<c10::IValue>”的客户端使用
          with
          [
              Elem=c10::IValue,
              _Ty=c10::IValue
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(87): note: 参见对正在编译的类 模板 实例化“c10::ivalue::List<c10::IValue>”的引用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(560): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 struct“c10::ivalue::Future::FutureError”的基
  E:\program files\C#\VC\INCLUDE\vcruntime_exception.h(43): note: 参见“std::exception”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(560): note: 参见“c10::ivalue::Future::FutureError”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(570): warning C4251: “c10::ivalue::Future::FutureError::error_msg”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ivalue::Future::FutureError”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(676): warning C4251: “c10::ivalue::Future::mutex_”: class“std::mutex”需要有 dll 接口由 struct“c10::ivalue::Future”的客户端使用
  E:\program files\C#\VC\INCLUDE\mutex(76): note: 参见“std::mutex”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(678): warning C4251: “c10::ivalue::Future::completed_”: struct“std::atomic<bool>”需要有 dll 接口由 struct“c10::ivalue::Future”的客户端使用
  E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<bool>”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(679): warning C4251: “c10::ivalue::Future::callbacks”: class“std::vector<std::function<void (void)>,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::Future”的客户端使用
          with
          [
              _Ty=std::function<void (void)>
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(722): warning C4251: “c10::ivalue::Object::type_”: class“std::shared_ptr<c10::ClassType>”需要有 dll 接口由 struct“c10::ivalue::Object”的客���端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(723): warning C4251: “c10::ivalue::Object::slots_”: class“std::vector<Elem,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::Object”的客户 端使用
          with
          [
              Elem=c10::IValue,
              _Ty=c10::IValue
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(728): warning C4251: “c10::ivalue::GenericDict::elements_”: class“std::unordered_map<c10::IValue,c10::IValue,c10::ivalue::DictHash,c10::ivalue::DictEqualTo,std::allocator<std::pair<const _Kty,_Ty>>>”需要有 dll 接口由 struct“c10::ivalue::GenericDict”的客户端使用
          with
          [
              _Kty=c10::IValue,
              _Ty=c10::IValue
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(781): warning C4244: “return”:  从“double”转换到“float”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(783): warning C4244: “return”:  从“int64_t”转换到“unsigned char”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(784): warning C4244: “return”:  从“int64_t”转换到“signed char”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(785): warning C4244: “return”:  从“int64_t”转换到“unsigned short”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(786): warning C4244: “return”:  从“int64_t”转换到“short”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(787): warning C4244: “return”:  从“int64_t”转换到“int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(788): warning C4244: “return”:  从“int64_t”转换到“uint32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(790): warning C4244: “return”:  从“int64_t”转换到“c10::detail::_guarded_unsigned_long”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<int64_t>::elements_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<int64_t>”的客户端使用
          with
          [
              _Ty=int64_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(859): note: 参见对正在编译的类 模 板 实例化“c10::ivalue::List<int64_t>”的引用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<double>::elements_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<double>”的客户端使用
          with
          [
              T=double,
              _Ty=double
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(873): note: 参见对正在编译的类 模 板 实例化“c10::ivalue::List<double>”的引用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<bool>::elements_”: class“std::vector<bool,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<bool>”的客户端使用
          with
          [
              _Ty=bool
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(880): note: 参见对正在编译的类 模 板 实例化“c10::ivalue::List<bool>”的引用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<at::Tensor>::elements_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<at::Tensor>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(887): note: 参见对正在编译的类 模 板 实例化“c10::ivalue::List<at::Tensor>”的引用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(1003): warning C4244: “参数”: 从“int64_t”转换到“const int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(66): warning C4251: “std::enable_shared_from_this<c10::Type>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<c10::Type>”的客户端使用
          with
          [
              _Ty=c10::Type
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(227): warning C4251: “c10::SingleElementType<OptionalType,c10::OptionalType>::elem”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“c10::SingleElementType<OptionalType,c10::OptionalType>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(477): warning C4251: “c10::VaryingShape::size_”: class“c10::optional<size_t>”需要有 dll 接口由 struct“c10::VaryingShape”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(478): warning C4251: “c10::VaryingShape::dims_”: class“std::vector<c10::optional<int64_t>,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::VaryingShape”的客户端使用
          with
          [
              _Ty=c10::optional<int64_t>
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(571): warning C4251: “c10::ProfiledTensorType::scalar_type_”: class“c10::optional<c10::ScalarType>”需要有 dll 接口由 struct“c10::ProfiledTensorType”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(572): warning C4251: “c10::ProfiledTensorType::device_”: class“c10::optional<c10::Device>”需要有 dll 接口由 struct“c10::ProfiledTensorType”的客户 端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(575): warning C4251: “c10::ProfiledTensorType::requires_grad_”: class“c10::optional<bool>”需要有 dll 接口由 struct“c10::ProfiledTensorType”的客户 端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(533): warning C4267: “参数”:  从“size_t”转换到“int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(537): warning C4267: “参数”:  从“size_t”转换到“int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(682): warning C4251: “c10::CompleteTensorType::sizes_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::CompleteTensorType”的客户端使用
          with
          [
              _Ty=int64_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(683): warning C4251: “c10::CompleteTensorType::strides_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::CompleteTensorType”的客户端使用
          with
          [
              _Ty=int64_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(688): warning C4251: “c10::SingleElementType<ListType,c10::ListType>::elem”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“c10::SingleElementType<ListType,c10::ListType>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(801): warning C4251: “c10::DictType::types”: class“std::vector<c10::TypePtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::DictType”的客户端使用
          with
          [
              _Ty=c10::TypePtr
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(808): warning C4251: “c10::SingleElementType<FutureType,c10::FutureType>::elem”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“c10::SingleElementType<FutureType,c10::FutureType>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(941): warning C4251: “c10::TupleType::elements_”: class“std::vector<c10::TypePtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::TupleType”的客户端使用
          with
          [
              _Ty=c10::TypePtr
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(943): warning C4251: “c10::TupleType::names_”: class“c10::optional<std::vector<std::string,std::allocator<_Ty>>>”需要有 dll 接口由 struct“c10::TupleType”的客户端使用
          with
          [
              _Ty=std::string
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1450): warning C4251: “c10::ClassType::qualifiedName_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1454): warning C4251: “c10::ClassType::qualifier_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1456): warning C4251: “c10::ClassType::basename_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1464): warning C4251: “c10::ClassType::attributeNames_”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
          with
          [
              _Ty=std::string
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1465): warning C4251: “c10::ClassType::attributeTypes_”: class“std::vector<c10::TypePtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
          with
          [
              _Ty=c10::TypePtr
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1467): warning C4251: “c10::ClassType::compilation_unit_”: class“std::shared_ptr<torch::jit::script::CompilationUnit>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/scope.h(22): warning C4251: “torch::jit::Scope::parent_”: class“c10::intrusive_ptr<torch::jit::Scope,c10::detail::intrusive_target_default_null_type<TTarget>>”需要有 dll 接口由 struct“torch::jit::Scope”的客户端使用
          with
          [
              TTarget=torch::jit::Scope
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/constants.h(20): warning C4275: 非 dll 接口 class“std::runtime_error”用作 dll 接口 struct“torch::jit::constant_not_supported_error”的基
  E:\program files\C#\VC\INCLUDE\stdexcept(166): note: 参见“std::runtime_error”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/constants.h(20): note: 参见“torch::jit::constant_not_supported_error”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(87): warning C4275: 非 dll 接口 struct“torch::jit::AttributeValue”用作 dll 接口 struct“torch::jit::GraphAttr”的基
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(25): note: 参见“torch::jit::AttributeValue”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(87): note: 参见“torch::jit::GraphAttr”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(101): warning C4251: “torch::jit::GraphAttr::value_”: class“std::shared_ptr<torch::jit::Graph>”需要有 dll 接口由 struct“torch::jit::GraphAttr”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(104): warning C4275: 非 dll 接口 struct“torch::jit::AttributeValue”用作 dll 接口 struct“torch::jit::GraphsAttr”的基
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(25): note: 参见“torch::jit::AttributeValue”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(104): note: 参见“torch::jit::GraphsAttr”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(118): warning C4251: “torch::jit::GraphsAttr::value_”: class“std::vector<std::shared_ptr<torch::jit::Graph>,std::allocator<_Ty>>”需要有 dll  接口由 struct“torch::jit::GraphsAttr”的客户端使用
          with
          [
              _Ty=std::shared_ptr<torch::jit::Graph>
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(246): warning C4251: “torch::jit::Node::inputs_”: class“std::vector<torch::jit::Value *,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
          with
          [
              _Ty=torch::jit::Value *
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(247): warning C4251: “torch::jit::Node::outputs_”: class“std::vector<torch::jit::Value *,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
          with
          [
              _Ty=torch::jit::Value *
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(249): warning C4251: “torch::jit::Node::blocks_”: class“std::vector<torch::jit::Block *,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
          with
          [
              _Ty=torch::jit::Block *
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(252): warning C4251: “torch::jit::Node::source_location_”: class“std::shared_ptr<torch::jit::SourceLocation>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(253): warning C4251: “torch::jit::Node::scope_”: class“c10::intrusive_ptr<torch::jit::Scope,c10::detail::intrusive_target_default_null_type<TTarget>> ”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
          with
          [
              TTarget=torch::jit::Scope
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(756): warning C4251: “torch::jit::Node::values_”: class“std::vector<torch::jit::Node::AVPtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
          with
          [
              _Ty=torch::jit::Node::AVPtr
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(1243): error C4579: 'torch::jit::ProfileOp::Kind': in-class initialization for type 'const c10::Symbol' is not yet implemented; static member will remain uninitialized at runtime but use in constant-expressions is supported
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(30): warning C4251: “std::enable_shared_from_this<torch::jit::tracer::TracingState>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<torch::jit::tracer::TracingState>”的客户端使用
          with
          [
              _Ty=torch::jit::tracer::TracingState
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(58): warning C4251: “torch::jit::tracer::TracingState::env_stack”: class“std::vector<torch::jit::tracer::TracingState::TracingEnvironmentFrame,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::tracer::TracingState”的客户端使用
          with
          [
              _Ty=torch::jit::tracer::TracingState::TracingEnvironmentFrame
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(59): warning C4251: “torch::jit::tracer::TracingState::graph”: class“std::shared_ptr<torch::jit::Graph>”需要有 dll 接口由 struct“torch::jit::tracer::TracingState”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(63): warning C4251: “torch::jit::tracer::TracingState::lookup_var_name_fn”: class“std::function<std::string (const torch::autograd::Variable &)>”需要有 dll 接口由 struct“torch::jit::tracer::TracingState”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(159): warning C4251:  “torch::jit::tracer::NoWarn::state”: class“std::shared_ptr<_Ty>”需要有 dll 接口由 struct“torch::jit::tracer::NoWarn”的客户端使用
          with
          [
              _Ty=torch::jit::tracer::TracingState
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(171): warning C4273: “torch::jit::tracer::addInputs”: dll 链接不一致
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(154): note: 参见“addInputs”的前一个定义
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(178): warning C4273: “torch::jit::tracer::addInputs”: dll 链接不一致
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(160): note: 参见“addInputs”的前一个定义
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/data/samplers/distributed.h(96): warning C4251: “torch::data::samplers::DistributedRandomSampler::all_indices_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::data::samplers::DistributedRandomSampler”的客户端使用
          with
          [
              T=size_t,
              _Ty=size_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/data/samplers/distributed.h(129): warning C4251: “torch::data::samplers::DistributedSequentialSampler::all_indices_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::data::samplers::DistributedSequentialSampler”的客户端使用
          with
          [
              T=size_t,
              _Ty=size_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/serialize/input-archive.h(89): warning C4251: “torch::serialize::InputArchive::module_”: class“std::shared_ptr<torch::jit::script::Module>” 需要有 dll 接口由 class“torch::serialize::InputArchive”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/serialize/output-archive.h(66): warning C4251: “torch::serialize::OutputArchive::module_”: class“std::shared_ptr<torch::jit::script::Module> ”需要有 dll 接口由 class“torch::serialize::OutputArchive”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/lexer.h(356): warning C4251: “torch::jit::script::SharedParserData::head”: class“std::unique_ptr<torch::jit::script::TokenTrie,std::default_delete<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::SharedParserData”的客户端使用
          with
          [
              _Ty=torch::jit::script::TokenTrie
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/lexer.h(382): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/lexer.h(458): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(168): warning C4251:  “torch::jit::ArgumentSpecCreator::instructions_”: class“std::vector<torch::jit::ArgumentSpecCreator::Inst,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::ArgumentSpecCreator”的客户端使用
          with
          [
              _Ty=torch::jit::ArgumentSpecCreator::Inst
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(201): warning C4267:  “初始化”: 从“size_t”转换到“int32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(204): warning C4267:  “初始化”: 从“size_t”转换到“int32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/ArrayRef.h(144): warning C4267: “初始化”: 从“size_t”转换到“const int32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(209): warning C4244:  “+=”: 从“int64_t”转换到“int32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(229): warning C4244:  “+=”: 从“int64_t”转换到“int32_t”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(293): warning C4800:  “const unsigned int”: 将值强制为布尔值“true”或“false”(性能警告)
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(391): warning C4267:  “参数”: 从“size_t”转换到“const int”,可能丢失数据
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/interpreter.h(44): warning C4251: “torch::jit::Code::pImpl”: class“std::shared_ptr<torch::jit::CodeImpl>”需要有 dll 接口由 struct“torch::jit::Code”的客 户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/graph_executor.h(41): warning C4251:  “torch::jit::GraphExecutor::pImpl”: class“std::shared_ptr<torch::jit::GraphExecutorImpl>”需要有 dll 接口由 struct“torch::jit::GraphExecutor”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(160): warning C4251: “torch::jit::script::Function::name_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(161): warning C4251: “torch::jit::script::Function::graph_”: class“std::shared_ptr<torch::jit::Graph>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(166): warning C4251: “torch::jit::script::Function::executor_init_”: struct“std::once_flag”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
  E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(171): warning C4251: “torch::jit::script::Function::function_creator_”: class“std::function<void (torch::jit::script::Function &)>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(176): warning C4251: “torch::jit::script::Function::schema_”: class“std::unique_ptr<c10::FunctionSchema,std::default_delete<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
          with
          [
              _Ty=c10::FunctionSchema
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(266): warning C4251: “torch::jit::script::CompilationUnit::functions_”: class“std::vector<std::shared_ptr<torch::jit::script::Function>,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::CompilationUnit”的客户端使用
          with
          [
              _Ty=std::shared_ptr<torch::jit::script::Function>
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(268): warning C4251: “torch::jit::script::CompilationUnit::dict_”: class“std::unordered_map<std::string,size_t,std::hash<std::string>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>”需要有 dll 接口由 struct“torch::jit::script::CompilationUnit”的客户端使用
          with
          [
              _Kty=std::string,
              _Ty=size_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(123): warning C4251:  “torch::jit::script::Method::function_”: class“std::shared_ptr<torch::jit::script::Function>”需要有 dll 接口由 struct“torch::jit::script::Method”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(127): warning C4251:  “torch::jit::script::Method::initial_ivalues_”: class“std::vector<torch::jit::script::Slot,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Method”的客户端使用
          with
          [
              _Ty=torch::jit::script::Slot
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(128): warning C4251:  “torch::jit::script::Method::schema_”: struct“c10::FunctionSchema”需要有 dll 接口由 struct“torch::jit::script::Method”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/function_schema.h(96): note: 参见“c10::FunctionSchema”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(543): warning C4251:  “torch::jit::script::Module::modules_”: class“std::vector<std::shared_ptr<torch::jit::script::Module>,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
          with
          [
              _Ty=std::shared_ptr<torch::jit::script::Module>
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(544): warning C4251:  “torch::jit::script::Module::parameters_”: class“std::vector<torch::jit::script::Slot,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
          with
          [
              _Ty=torch::jit::script::Slot
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(545): warning C4251:  “torch::jit::script::Module::attributes_”: class“std::vector<torch::jit::script::Slot,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
          with
          [
              _Ty=torch::jit::script::Slot
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(546): warning C4251:  “torch::jit::script::Module::methods_”: class“std::vector<std::unique_ptr<torch::jit::script::Method,std::default_delete<_Ty>>,std::allocator<std::unique_ptr<_Ty,std::default_delete<_Ty>>>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
          with
          [
              _Ty=torch::jit::script::Method
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(548): warning C4251:  “torch::jit::script::Module::dict_”: class“std::unordered_map<std::string,torch::jit::script::Module::Entry,std::hash<std::string>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
          with
          [
              _Kty=std::string,
              _Ty=torch::jit::script::Module::Entry
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(549): warning C4251:  “torch::jit::script::Module::name_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要 有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(551): warning C4251:  “torch::jit::script::Module::module_value_”: class“c10::intrusive_ptr<c10::ivalue::Object,c10::detail::intrusive_target_default_null_type<TTarget>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
          with
          [
              TTarget=c10::ivalue::Object
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(566): warning C4251:  “torch::jit::script::Module::create_method_guard_”: class“std::recursive_mutex”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
  E:\program files\C#\VC\INCLUDE\mutex(89): note: 参见“std::recursive_mutex”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(25): warning C4251: “std::enable_shared_from_this<torch::jit::script::SugaredValue>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<torch::jit::script::SugaredValue>”的客户端使用
          with
          [
              _Ty=torch::jit::script::SugaredValue
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(156): warning C4251: “torch::jit::script::BuiltinFunction::self”: class“c10::optional<torch::jit::NamedValue>”需要有 dll 接口由 struct“torch::jit::script::BuiltinFunction”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(185): warning C4251: “torch::jit::script::BuiltinModule::name”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“torch::jit::script::BuiltinModule”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(188): warning C4251: “torch::jit::script::BuiltinModule::version”: class“c10::optional<int64_t>”需要有 dll 接口由 struct“torch::jit::script::BuiltinModule”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(214): warning C4251: “torch::jit::script::ClassValue::type_”: class“std::shared_ptr<c10::ClassType>”需要有 dll 接口由 struct“torch::jit::script::ClassValue”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(282): warning C4251: “torch::jit::script::CastValue::type_”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“torch::jit::script::CastValue”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(338): warning C4251: “torch::jit::script::ClassNewMethod::type_”: class“std::shared_ptr<c10::ClassType>”需要有 dll 接口由 struct“torch::jit::script::ClassNewMethod”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(62): warning C4251: “std::enable_shared_from_this<torch::nn::Module>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<torch::nn::Module>”的客户端使用
          with
          [
              _Ty=torch::nn::Module
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(514): warning C4251: “torch::nn::Module::parameters_”: class“torch::OrderedDict<std::string,at::Tensor>”需要有 dll 接口由 class “torch::nn::Module”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(517): warning C4251: “torch::nn::Module::buffers_”: class“torch::OrderedDict<std::string,at::Tensor>”需要有 dll 接口由 class“torch::nn::Module”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(520): warning C4251: “torch::nn::Module::children_”: class“torch::OrderedDict<std::string,std::shared_ptr<_Ty>>”需要有 dll 接口 由 class“torch::nn::Module”的客户端使用
          with
          [
              _Ty=torch::nn::Module
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(523): warning C4251: “torch::nn::Module::name_”: class“c10::optional<std::string>”需要有 dll 接口由 class“torch::nn::Module”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/conv.h(111): warning C4251: “torch::nn::ConvImpl<0x01,torch::nn::Conv1dImpl>::options”: struct“torch::nn::ConvOptions<0x01>”需要 有 dll 接口由 class“torch::nn::ConvImpl<0x01,torch::nn::Conv1dImpl>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/conv.h(131): warning C4251: “torch::nn::ConvImpl<0x02,torch::nn::Conv2dImpl>::options”: struct“torch::nn::ConvOptions<0x02>”需要 有 dll 接口由 class“torch::nn::ConvImpl<0x02,torch::nn::Conv2dImpl>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/conv.h(151): warning C4251: “torch::nn::ConvImpl<0x03,torch::nn::Conv3dImpl>::options”: struct“torch::nn::ConvOptions<0x03>”需要 有 dll 接口由 class“torch::nn::ConvImpl<0x03,torch::nn::Conv3dImpl>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/functional.h(94): warning C4251: “torch::nn::FunctionalImpl::function_”: class“std::function<at::Tensor (at::Tensor)>”需要有 dll 接口由 class“torch::nn::FunctionalImpl”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::w_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::w_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::b_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::b_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::cudnn_mode_”: class“c10::optional<torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::CuDNNMode>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::flat_weights_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::w_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::w_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::b_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::b_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::cudnn_mode_”: class“c10::optional<torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::CuDNNMode>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::flat_weights_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::w_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::w_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::b_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::b_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::cudnn_mode_”: class“c10::optional<torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::CuDNNMode>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::flat_weights_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/sequential.h(354): error C2580: “torch::nn::SequentialImpl::SequentialImpl(void)”: 不允许使用多个版本的有默认特殊成员函数
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(83): warning C4251: “torch::optim::detail::OptimizerBase::parameters_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::detail::OptimizerBase”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(28): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::Adagrad”的基
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(28): note: 参见“torch::optim::Adagrad”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(44): warning C4251: “torch::optim::Adagrad::sum_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口 由 class“torch::optim::Adagrad”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(45): warning C4251: “torch::optim::Adagrad::step_buffers”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::Adagrad”的客户端使用
          with
          [
              _Ty=int64_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(31): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::Adam”的基
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(31): note: 参见“torch::optim::Adam”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(45): warning C4251: “torch::optim::Adam::step_buffers”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 class “torch::optim::Adam”的客户端使用
          with
          [
              _Ty=int64_t
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(46): warning C4251: “torch::optim::Adam::exp_average_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接 口由 class“torch::optim::Adam”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(47): warning C4251: “torch::optim::Adam::exp_average_sq_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(48): warning C4251: “torch::optim::Adam::max_exp_average_sq_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(22): warning C4305: “初始化”: 从“double”到“float”截断
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(23): warning C4305: “初始化”: 从“double”到“float”截断
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(27): warning C4275: 非 dll 接口 class“torch::optim::LossClosureOptimizer”用作 dll 接口 class“torch::optim::LBFGS”的基
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(110): note: 参见“torch::optim::LossClosureOptimizer”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(27): note: 参见“torch::optim::LBFGS”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(48): warning C4251: “torch::optim::LBFGS::ro”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(49): warning C4251: “torch::optim::LBFGS::al”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(50): warning C4251: “torch::optim::LBFGS::old_dirs”: class“std::deque<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class “torch::optim::LBFGS”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(51): warning C4251: “torch::optim::LBFGS::old_stps”: class“std::deque<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class “torch::optim::LBFGS”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(34): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::RMSprop”的基
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(34): note: 参见“torch::optim::RMSprop”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(50): warning C4251: “torch::optim::RMSprop::square_average_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要 有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(51): warning C4251: “torch::optim::RMSprop::momentum_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(52): warning C4251: “torch::optim::RMSprop::grad_average_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(31): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::SGD”的基
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(31): note:  参见“torch::optim::SGD”的声明
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(45): warning C4251: “torch::optim::SGD::momentum_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::SGD”的客户端使用
          with
          [
              _Ty=at::Tensor
          ]
  e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\pybind11\detail/common.h(71): fatal error C1189: #error:  pybind11 requires MSVC 2015 update 3 or newer
  error: command 'E:\\program files\\C#\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
  ----------------------------------------
  ERROR: Failed building wheel for torch-scatter
  Running setup.py clean for torch-scatter
Failed to build torch-scatter
Installing collected packages: torch-scatter
  Running setup.py install for torch-scatter ... error
    ERROR: Complete output from command 'e:\anaconda\envs\torchwithsparse\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\WANG\\AppData\\Local\\Temp\\pip-install-bkdrkgzk\\torch-scatter\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\WANG\AppData\Local\Temp\pip-record-1lcov4qq\install-record.txt' --single-version-externally-managed --compile:
    ERROR: running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.6
    creating build\lib.win-amd64-3.6\test
    copying test\test_backward.py -> build\lib.win-amd64-3.6\test
    copying test\test_forward.py -> build\lib.win-amd64-3.6\test
    copying test\test_max_min.py -> build\lib.win-amd64-3.6\test
    copying test\test_multi_gpu.py -> build\lib.win-amd64-3.6\test
    copying test\test_std.py -> build\lib.win-amd64-3.6\test
    copying test\utils.py -> build\lib.win-amd64-3.6\test
    copying test\__init__.py -> build\lib.win-amd64-3.6\test
    creating build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\add.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\div.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\max.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\mean.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\min.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\mul.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\std.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\sub.py -> build\lib.win-amd64-3.6\torch_scatter
    copying torch_scatter\__init__.py -> build\lib.win-amd64-3.6\torch_scatter
    creating build\lib.win-amd64-3.6\torch_scatter\utils
    copying torch_scatter\utils\ext.py -> build\lib.win-amd64-3.6\torch_scatter\utils
    copying torch_scatter\utils\gen.py -> build\lib.win-amd64-3.6\torch_scatter\utils
    copying torch_scatter\utils\__init__.py -> build\lib.win-amd64-3.6\torch_scatter\utils
    running build_ext
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\utils\cpp_extension.py:184: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。
      warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error))
    building 'torch_scatter.scatter_cpu' extension
    creating build\temp.win-amd64-3.6
    creating build\temp.win-amd64-3.6\Release
    creating build\temp.win-amd64-3.6\Release\cpu
    E:\program files\C#\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\TH -Ie:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\THC -Ie:\anaconda\envs\torchwithsparse\include -Ie:\anaconda\envs\torchwithsparse\include "-IE:\program files\C#\VC\INCLUDE" "-IE:\program files\C#\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpcpu/scatter.cpp /Fobuild\temp.win-amd64-3.6\Release\cpu/scatter.obj -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cpu -D_GLIBCXX_USE_CXX11_ABI=0 /MD
    scatter.cpp
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(27): warning C4275: 非 dll 接 口 class“std::exception”用作 dll 接口 class“c10::Error”的基
    E:\program files\C#\VC\INCLUDE\vcruntime_exception.h(43): note: 参见“std::exception”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(27): note: 参见“c10::Error” 的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(28): warning C4251: “c10::Error::msg_stack_”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 class“c10::Error”的客户端使用
            with
            [
                _Ty=std::string
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(29): warning C4251: “c10::Error::backtrace_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 class“c10::Error”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(34): warning C4251: “c10::Error::msg_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 class“c10::Error”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Exception.h(35): warning C4251: “c10::Error::msg_without_backtrace_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接 口由 class“c10::Error”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Allocator.h(21): warning C4251: “c10::DataPtr::ptr_”: class“c10::detail::UniqueVoidPtr”需要有 dll 接口由 class“c10::DataPtr”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/UniqueVoidPtr.h(38): note: 参见“c10::detail::UniqueVoidPtr”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Allocator.h(183): warning C4251: “c10::InefficientStdFunctionContext::ptr_”: class“std::unique_ptr<void,std::function<void (void *)>>”需要有 dll 接口由 struct“c10::InefficientStdFunctionContext”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorTypeIdRegistration.h(32): warning C4251: “c10::TensorTypeIdCreator::last_id_”: struct“std::atomic<unsigned char>”需要有 dll 接口由 class“c10::TensorTypeIdCreator”的客户端使用
    E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned char>”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorTypeIdRegistration.h(45): warning C4251: “c10::TensorTypeIdRegistry::registeredTypeIds_”: class“std::unordered_set<c10::TensorTypeId,std::hash<c10::TensorTypeId>,std::equal_to<_Kty>,std::allocator<_Kty>>”需要有 dll 接口由 class“c10::TensorTypeIdRegistry”的客户端使用
            with
            [
                _Kty=c10::TensorTypeId
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorTypeIdRegistration.h(46): warning C4251: “c10::TensorTypeIdRegistry::mutex_”: class“std::mutex”需要有 dll 接口由 class“c10::TensorTypeIdRegistry”的客 户端使用
    E:\program files\C#\VC\INCLUDE\mutex(76): note: 参见“std::mutex”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(168): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(171): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(174): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(177): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(181): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(184): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(187): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(190): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(196): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(199): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(202): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(205): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(209): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(212): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(215): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/Half-inl.h(218): warning C4244: “参数”: 从“int64_t”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(70): error C2134: “caffe2::TypeIdentifier::TypeIdentifier”: 调用不会生成常数表达式
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(70): note: 对未定义的函数或为未声明为“constexpr”的函数的调用导致了故障
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(84): note: 参见“caffe2::TypeIdentifier::TypeIdentifier”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(328): error C2071: “caffe2::TypeMeta::New”: 非法的存储类
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(329): error C2071: “caffe2::TypeMeta::PlacementNew”: 非法的存储类
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(330): error C2071: “caffe2::TypeMeta::Copy”: 非法的存储类
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(331): error C2071: “caffe2::TypeMeta::PlacementDelete”: 非法的存储类
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(332): error C2071: “caffe2::TypeMeta::Delete”: 非法的存储类
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2327: “caffe2::TypeMeta::New”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2143: 语法错误: 缺少“;”(在“*”的前面)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::New”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(371): error C2334: “{”的前面有 ��外标记;跳过明显的函数体
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2327: “caffe2::TypeMeta::PlacementNew”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2143: 语法错误: 缺少“;”(在“*”的前面)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::PlacementNew”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(377): error C2334: “{”的前面有 意外标记;跳过明显的函数体
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2327: “caffe2::TypeMeta::Copy”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2143: 语法错误: 缺少“;”(在“*”的前面)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::Copy”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(383): error C2334: “{”的前面有 意外标记;跳过明显的函数体
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2327: “caffe2::TypeMeta::PlacementDelete”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2143: 语法错误: 缺少“;”(在“*”的前面)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::PlacementDelete”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(389): error C2334: “{”的前面有 意外标记;跳过明显的函数体
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2327: “caffe2::TypeMeta::Delete”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2143: 语法错误: 缺少“;”(在“*”的前面)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2126: 不能使用“constexpr”说明符声明“caffe2::TypeMeta::Delete”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(392): error C2334: “{”的前面有 意外标记;跳过明显的函数体
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(355): error C2476: “constexpr” 构造函数不会初始化所有成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(328): note: 构造函数未初始化“caffe2::TypeMeta::New”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(329): note: 构造函数未初始化“caffe2::TypeMeta::PlacementNew”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(330): note: 构造函数未初始化“caffe2::TypeMeta::Copy”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(331): note: 构造函数未初始化“caffe2::TypeMeta::PlacementDelete”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/typeid.h(332): note: 构造函数未初始化“caffe2::TypeMeta::Delete”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorOptions.h(526): error C2338: TensorOptions must fit in 128-bits
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(58): warning C4251: “c10::intrusive_ptr_target::refcount_”: struct“std::atomic<unsigned __int64>”需要有 dll 接口由 class“c10::intrusive_ptr_target”的客户端使用
    E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned __int64>”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(59): warning C4251: “c10::intrusive_ptr_target::weakcount_”: struct“std::atomic<unsigned __int64>”需要有 dll 接口由 class“c10::intrusive_ptr_target”的客户端使用
    E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned __int64>”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(723): warning C4267: “return”: 从“size_t”转换到“uint32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/intrusive_ptr.h(757): warning C4267: “return”: 从“size_t”转换到“uint32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Storage.h(181): warning C4251: “c10::Storage::storage_impl_”: class“c10::intrusive_ptr<c10::StorageImpl,c10::detail::intrusive_target_default_null_type<TTarget>>”需要有 dll 接口由 struct“c10::Storage”的客户端使用
            with
            [
                TTarget=c10::StorageImpl
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/logging_is_not_google_glog.h(47): warning C4251: “c10::MessageLogger::stream_”: class“std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 class“c10::MessageLogger”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(193): warning C4251: “c10::VariableVersion::version_block_”: class“std::shared_ptr<std::atomic<unsigned int>>”需要有 dll 接口由 struct“c10::VariableVersion”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1466): warning C4251: “c10::TensorImpl::autograd_meta_”: class“std::unique_ptr<c10::AutogradMetaInterface,std::default_delete<_Ty>>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
            with
            [
                _Ty=c10::AutogradMetaInterface
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1476): warning C4251: “c10::TensorImpl::sizes_”: class“c10::SmallVector<int64_t,5>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1477): warning C4251: “c10::TensorImpl::strides_”: class“c10::SmallVector<int64_t,5>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1499): warning C4251: “c10::TensorImpl::device_opt_”: class“c10::optional<c10::Device>”需要有 dll 接口由 struct“c10::TensorImpl”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1018): warning C4244: “参数 ”: 从“float”转换到“const size_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1024): error C2039: “copy”: 不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1028): error C2039: “copy”: 不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1258): error C2039: “placementDelete”: 不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1274): error C2039: “placementNew”: 不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1287): error C2039: “placementNew”: 不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1292): error C2039: “placementDelete”: 不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1295): error C3536: “dtor”: 初始化之前无法使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1295): error C2664: “c10::DataPtr c10::PlacementDeleteContext::makeDataPtr(c10::DataPtr &&,c10::PlacementDtor,size_t,c10::Device)”: 无法将参数 2 从“int”转换为“c10::PlacementDtor”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1295): note: 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1296): error C2039: “placementNew”: 不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1416): warning C4244: “初始 化”: 从“int64_t”转换到“int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/TensorImpl.h(1584): error C2338: You changed the size of TensorImpl on 64-bit arch.See Note [TensorImpl size constraints] on how to proceed.
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(38): error C2071: “at::LegacyTypeDeleter::TypeDeleterFun”: 非法的存储类
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C2327: “at::LegacyTypeDeleter::TypeDeleterFun”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C2143: 语法错误: 缺少“;”(在“*”的前面)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(39): error C2238: 意外的标记位于“;”之前
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2327: “at::LegacyTypeDeleter::TypeDeleterFun”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2061: 语法错误: 标识符“TypeDeleterFun”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2535: “at::LegacyTypeDeleter::LegacyTypeDeleter(void)”: 已经定义或声明成员函数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(40): note: 参见“at::LegacyTypeDeleter::LegacyTypeDeleter”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2065: “fn”: 未声明的标识符
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(41): error C2614: “at::LegacyTypeDeleter”: 非法的成员初始化:“fn_”不是基或成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(43): error C2065: “fn_”: 未声明的标识符
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(44): error C2065: “fn_”: 未声明的标识符
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/LegacyTypeDispatch.h(137): warning C4251: “at::LegacyTypeDispatch::type_registry”: class“std::unique_ptr<at::Type,at::LegacyTypeDeleter>”需要有 dll 接口由 class“at::LegacyTypeDispatch”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/DeprecatedTypePropertiesRegistry.h(27): warning C4251: “at::DeprecatedTypePropertiesRegistry::registry”: class“std::unique_ptr<at::DeprecatedTypeProperties,std::default_delete<_Ty>>”需要有 dll 接口由 class“at::DeprecatedTypePropertiesRegistry”的客户端使用
            with
            [
                _Ty=at::DeprecatedTypeProperties
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/Tensor.h(773): warning C4251: “at::Tensor::impl_”: class“c10::intrusive_ptr<c10::TensorImpl,c10::UndefinedTensorImpl>”需要有 dll 接口由 class“at::Tensor”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/Tensor.h(774): warning C4522: “at::Tensor”: 指定了多个赋值运算符
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/Tensor.h(801): warning C4251: “at::WeakTensor::weak_impl_”: class“c10::weak_intrusive_ptr<TTarget,NullType>”需要有 dll 接口由 struct“at::WeakTensor”的客户 端使用
            with
            [
                TTarget=c10::TensorImpl,
                NullType=c10::UndefinedTensorImpl
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(49): error C2071: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleterFun”: 非法的存储类
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C2327: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleterFun”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C2143: 语法错误: 缺少“;”(在“*”的前面)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C4430: 缺少类型 说明符 - 假定为 int。注意: C++ 不支持默认 int
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(50): error C2238: 意外的标 记位于“;”之前
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2327: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleterFun”: 不是类型名称、静态或枚举数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2061: 语法错误: 标识符“LegacyTHDispatcherDeleterFun”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2535: “at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleter(void)”: 已经定义或声明成员函数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(51): note: 参见“at::LegacyTHDispatcherDeleter::LegacyTHDispatcherDeleter”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2065: “fn”:  未声明的标识符
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(52): error C2614: “at::LegacyTHDispatcherDeleter”: 非法的成员初始化:“fn_”不是基或成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(54): error C2065: “fn_”: 未声明的标识符
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(55): error C2065: “fn_”: 未声明的标识符
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/LegacyTHDispatch.h(122): warning C4251: “at::LegacyTHDispatch::dispatcher_registry”: class“std::unique_ptr<at::LegacyTHDispatcher,at::LegacyTHDispatcherDeleter>” 需要有 dll 接口由 class“at::LegacyTHDispatch”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Stream.h(126): warning C4244: “参数”: 从“unsigned __int64”转换到“c10::DeviceIndex”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/Stream.h(126): warning C4244: “参数”: 从“unsigned __int64”转换到“c10::StreamId”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/impl/DeviceGuardImplInterface.h(137): warning C4800: “const c10::impl::DeviceGuardImplInterface *”: 将值强制为布尔值“true”或“false”(性能警告)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(134): warning C4251: “at::Context::generator_registry”: class“std::unique_ptr<at::Generator,std::default_delete<_Ty>>”需要有 dll 接口由 class“at::Context”的客户端使用
            with
            [
                _Ty=at::Generator
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(151): warning C4251: “at::Context::thc_init”: struct“std::once_flag”需要有 dll 接口由 class“at::Context”的客户端使用
    E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(152): warning C4251: “at::Context::thh_init”: struct“std::once_flag”需要有 dll 接口由 class“at::Context”的客户端使用
    E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(153): warning C4251: “at::Context::complex_init_”: struct“std::once_flag”需要有 dll 接口由 class“at::Context”的客户端使用
    E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(157): warning C4251: “at::Context::next_id”: struct“std::atomic<unsigned __int64>”需要有 dll 接口由 class“at::Context”的客户端使用
    E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<unsigned __int64>”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(158): warning C4251: “at::Context::thc_state”: class“std::unique_ptr<THCState,void (__cdecl *)(THCState *)>”需要有 dll 接口由 class“at::Context”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(159): warning C4251: “at::Context::thh_state”: class“std::unique_ptr<THHState,void (__cdecl *)(THHState *)>”需要有 dll 接口由 class“at::Context”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(52): error C2440: “<function-style-cast>”: 无法从“at::Context::registerType::<lambda_1fc99ff75cd149d173424b282353a33b>”转换为“at::LegacyTypeDeleter”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(52): note: 无构造函数可以接受源类型 ,或构造函数重载决策不明确
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(57): error C2440: “<function-style-cast>”: 无法从“at::Context::registerLegacyTHDispatcher::<lambda_b06be8ac5025571199e3700984197321>”转换为“at::LegacyTHDispatcherDeleter”
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/Context.h(57): note: 无构造函数可以接受源类型 ,或构造函数重载决策不明确
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/TensorGeometry.h(56): warning C4251: “at::TensorGeometry::sizes_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“at::TensorGeometry”的客户端使用
            with
            [
                _Ty=int64_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/TensorGeometry.h(57): warning C4251: “at::TensorGeometry::strides_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“at::TensorGeometry”的客户端使用
            with
            [
                _Ty=int64_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/utils/hash.h(70): error C2995: “unknown-type torch::_hash_detail::dispatch_hash(const T &)”: 函数模板已经定义
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/utils/hash.h(57): note: 参见“torch::_hash_detail::dispatch_hash”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(331): warning C4251: “torch::autograd::Variable::AutogradMeta::name”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(334): warning C4251: “torch::autograd::Variable::AutogradMeta::grad_fn_”: class“std::shared_ptr<torch::autograd::Function>”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(335): warning C4251: “torch::autograd::Variable::AutogradMeta::grad_accumulator_”: class“std::weak_ptr<torch::autograd::Function>”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(337): warning C4251: “torch::autograd::Variable::AutogradMeta::hooks_”: class“std::vector<std::shared_ptr<torch::autograd::FunctionPreHook>,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
            with
            [
                _Ty=std::shared_ptr<torch::autograd::FunctionPreHook>
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/autograd/variable.h(353): warning C4251: “torch::autograd::Variable::AutogradMeta::mutex_”: class“std::mutex”需要有 dll 接口由 struct“torch::autograd::Variable::AutogradMeta”的客户端使用
    E:\program files\C#\VC\INCLUDE\mutex(76): note: 参见“std::mutex”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/blob.h(191): error C2039: “deleteFn”:  不是“caffe2::TypeMeta”的成员
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/core/DefaultDtype.h(6): note: 参见“caffe2::TypeMeta”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(27): warning C4251: “c10::ivalue::ConstantString::str_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ivalue::ConstantString”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<Elem>::elements_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<Elem>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(72): note: 参见对正在编译的类 模板 实例化“c10::ivalue::List<Elem>”的引用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<c10::IValue>::elements_”: class“std::vector<Elem,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<c10::IValue>”的客户端使用
            with
            [
                Elem=c10::IValue,
                _Ty=c10::IValue
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(87): note: 参见对正在编译的类 模板 实例化“c10::ivalue::List<c10::IValue>”的引用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(560): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 struct“c10::ivalue::Future::FutureError”的基
    E:\program files\C#\VC\INCLUDE\vcruntime_exception.h(43): note: 参见“std::exception”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(560): note: 参见“c10::ivalue::Future::FutureError”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(570): warning C4251: “c10::ivalue::Future::FutureError::error_msg”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ivalue::Future::FutureError”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(676): warning C4251: “c10::ivalue::Future::mutex_”: class“std::mutex”需要有 dll 接口由 struct“c10::ivalue::Future”的客户端使用
    E:\program files\C#\VC\INCLUDE\mutex(76): note: 参见“std::mutex”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(678): warning C4251: “c10::ivalue::Future::completed_”: struct“std::atomic<bool>”需要有 dll 接口由 struct“c10::ivalue::Future”的客户端使用
    E:\program files\C#\VC\INCLUDE\xxatomic(168): note: 参见“std::atomic<bool>”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(679): warning C4251: “c10::ivalue::Future::callbacks”: class“std::vector<std::function<void (void)>,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::Future”的客户端使用
            with
            [
                _Ty=std::function<void (void)>
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(722): warning C4251: “c10::ivalue::Object::type_”: class“std::shared_ptr<c10::ClassType>”需要有 dll 接口由 struct“c10::ivalue::Object”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(723): warning C4251: “c10::ivalue::Object::slots_”: class“std::vector<Elem,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::Object”的客 户端使用
            with
            [
                Elem=c10::IValue,
                _Ty=c10::IValue
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(728): warning C4251: “c10::ivalue::GenericDict::elements_”: class“std::unordered_map<c10::IValue,c10::IValue,c10::ivalue::DictHash,c10::ivalue::DictEqualTo,std::allocator<std::pair<const _Kty,_Ty>>>”需要有 dll 接口由 struct“c10::ivalue::GenericDict”的客户端使用
            with
            [
                _Kty=c10::IValue,
                _Ty=c10::IValue
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(781): warning C4244: “return”: 从“double”转换到“float”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(783): warning C4244: “return”: 从“int64_t”转换到“unsigned char”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(784): warning C4244: “return”: 从“int64_t”转换到“signed char”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(785): warning C4244: “return”: 从“int64_t”转换到“unsigned short”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(786): warning C4244: “return”: 从“int64_t”转换到“short”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(787): warning C4244: “return”: 从“int64_t”转换到“int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(788): warning C4244: “return”: 从“int64_t”转换到“uint32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(790): warning C4244: “return”: 从“int64_t”转换到“c10::detail::_guarded_unsigned_long”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<int64_t>::elements_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<int64_t>”的客户端使用
            with
            [
                _Ty=int64_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(859): note: 参见对正在编译的类  模板 实例化“c10::ivalue::List<int64_t>”的引用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<double>::elements_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<double>”的客户端使用
            with
            [
                T=double,
                _Ty=double
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(873): note: 参见对正在编译的类  模板 实例化“c10::ivalue::List<double>”的引用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<bool>::elements_”: class“std::vector<bool,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<bool>”的客户端使用
            with
            [
                _Ty=bool
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(880): note: 参见对正在编译的类  模板 实例化“c10::ivalue::List<bool>”的引用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(46): warning C4251: “c10::ivalue::List<at::Tensor>::elements_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ivalue::List<at::Tensor>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(887): note: 参见对正在编译的类  模板 实例化“c10::ivalue::List<at::Tensor>”的引用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/ivalue.h(1003): warning C4244: “参数”: 从“int64_t”转换到“const int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(66): warning C4251: “std::enable_shared_from_this<c10::Type>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<c10::Type>”的客户端使用
            with
            [
                _Ty=c10::Type
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(227): warning C4251: “c10::SingleElementType<OptionalType,c10::OptionalType>::elem”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“c10::SingleElementType<OptionalType,c10::OptionalType>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(477): warning C4251: “c10::VaryingShape::size_”: class“c10::optional<size_t>”需要有 dll 接口由 struct“c10::VaryingShape”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(478): warning C4251: “c10::VaryingShape::dims_”: class“std::vector<c10::optional<int64_t>,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::VaryingShape”的客户端使用
            with
            [
                _Ty=c10::optional<int64_t>
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(571): warning C4251: “c10::ProfiledTensorType::scalar_type_”: class“c10::optional<c10::ScalarType>”需要有 dll 接口由 struct“c10::ProfiledTensorType”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(572): warning C4251: “c10::ProfiledTensorType::device_”: class“c10::optional<c10::Device>”需要有 dll 接口由 struct“c10::ProfiledTensorType”的客 户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(575): warning C4251: “c10::ProfiledTensorType::requires_grad_”: class“c10::optional<bool>”需要有 dll 接口由 struct“c10::ProfiledTensorType”的客 户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(533): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(537): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(682): warning C4251: “c10::CompleteTensorType::sizes_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::CompleteTensorType”的客户端使用
            with
            [
                _Ty=int64_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(683): warning C4251: “c10::CompleteTensorType::strides_”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::CompleteTensorType”的客户端使用
            with
            [
                _Ty=int64_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(688): warning C4251: “c10::SingleElementType<ListType,c10::ListType>::elem”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“c10::SingleElementType<ListType,c10::ListType>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(801): warning C4251: “c10::DictType::types”: class“std::vector<c10::TypePtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::DictType”的客户端使用
            with
            [
                _Ty=c10::TypePtr
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(808): warning C4251: “c10::SingleElementType<FutureType,c10::FutureType>::elem”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“c10::SingleElementType<FutureType,c10::FutureType>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(941): warning C4251: “c10::TupleType::elements_”: class“std::vector<c10::TypePtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::TupleType”的客户端使用
            with
            [
                _Ty=c10::TypePtr
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(943): warning C4251: “c10::TupleType::names_”: class“c10::optional<std::vector<std::string,std::allocator<_Ty>>>”需要有 dll 接口由 struct“c10::TupleType”的客户端使用
            with
            [
                _Ty=std::string
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1450): warning C4251: “c10::ClassType::qualifiedName_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口 由 struct“c10::ClassType”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1454): warning C4251: “c10::ClassType::qualifier_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1456): warning C4251: “c10::ClassType::basename_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1464): warning C4251: “c10::ClassType::attributeNames_”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
            with
            [
                _Ty=std::string
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1465): warning C4251: “c10::ClassType::attributeTypes_”: class“std::vector<c10::TypePtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
            with
            [
                _Ty=c10::TypePtr
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/jit_type.h(1467): warning C4251: “c10::ClassType::compilation_unit_”: class“std::shared_ptr<torch::jit::script::CompilationUnit>”需要有 dll 接口由 struct“c10::ClassType”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/scope.h(22): warning C4251: “torch::jit::Scope::parent_”: class“c10::intrusive_ptr<torch::jit::Scope,c10::detail::intrusive_target_default_null_type<TTarget>>”需要有 dll 接口由 struct“torch::jit::Scope”的客户端使用
            with
            [
                TTarget=torch::jit::Scope
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/constants.h(20): warning C4275: 非 dll 接口 class“std::runtime_error”用作 dll 接口 struct“torch::jit::constant_not_supported_error”的基
    E:\program files\C#\VC\INCLUDE\stdexcept(166): note: 参见“std::runtime_error”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/constants.h(20): note: 参见“torch::jit::constant_not_supported_error”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(87): warning C4275: 非 dll 接口 struct“torch::jit::AttributeValue”用作 dll 接口 struct“torch::jit::GraphAttr”的基
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(25): note: 参见“torch::jit::AttributeValue”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(87): note: 参见“torch::jit::GraphAttr”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(101): warning C4251: “torch::jit::GraphAttr::value_”: class“std::shared_ptr<torch::jit::Graph>”需要有 dll 接口由 struct“torch::jit::GraphAttr”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(104): warning C4275: 非 dll 接口 struct“torch::jit::AttributeValue”用作 dll 接口 struct“torch::jit::GraphsAttr”的基
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(25): note: 参见“torch::jit::AttributeValue”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(104): note: 参见“torch::jit::GraphsAttr”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/attributes.h(118): warning C4251: “torch::jit::GraphsAttr::value_”: class“std::vector<std::shared_ptr<torch::jit::Graph>,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::GraphsAttr”的客户端使用
            with
            [
                _Ty=std::shared_ptr<torch::jit::Graph>
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(246): warning C4251: “torch::jit::Node::inputs_”: class“std::vector<torch::jit::Value *,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
            with
            [
                _Ty=torch::jit::Value *
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(247): warning C4251: “torch::jit::Node::outputs_”: class“std::vector<torch::jit::Value *,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
            with
            [
                _Ty=torch::jit::Value *
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(249): warning C4251: “torch::jit::Node::blocks_”: class“std::vector<torch::jit::Block *,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
            with
            [
                _Ty=torch::jit::Block *
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(252): warning C4251: “torch::jit::Node::source_location_”: class“std::shared_ptr<torch::jit::SourceLocation>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(253): warning C4251: “torch::jit::Node::scope_”: class“c10::intrusive_ptr<torch::jit::Scope,c10::detail::intrusive_target_default_null_type<TTarget>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
            with
            [
                TTarget=torch::jit::Scope
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(756): warning C4251: “torch::jit::Node::values_”: class“std::vector<torch::jit::Node::AVPtr,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::Node”的客户端使用
            with
            [
                _Ty=torch::jit::Node::AVPtr
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/ir.h(1243): error C4579: 'torch::jit::ProfileOp::Kind': in-class initialization for type 'const c10::Symbol' is not yet implemented; static member will remain uninitialized at runtime but use in constant-expressions is supported
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(30): warning C4251: “std::enable_shared_from_this<torch::jit::tracer::TracingState>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<torch::jit::tracer::TracingState>”的客户端使用
            with
            [
                _Ty=torch::jit::tracer::TracingState
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(58): warning C4251: “torch::jit::tracer::TracingState::env_stack”: class“std::vector<torch::jit::tracer::TracingState::TracingEnvironmentFrame,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::tracer::TracingState”的客户端使用
            with
            [
                _Ty=torch::jit::tracer::TracingState::TracingEnvironmentFrame
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(59): warning C4251: “torch::jit::tracer::TracingState::graph”: class“std::shared_ptr<torch::jit::Graph>”需要有 dll 接口由 struct“torch::jit::tracer::TracingState”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(63): warning C4251: “torch::jit::tracer::TracingState::lookup_var_name_fn”: class“std::function<std::string (const torch::autograd::Variable &)>”需要有 dll 接口由 struct“torch::jit::tracer::TracingState”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracing_state.h(159): warning C4251: “torch::jit::tracer::NoWarn::state”: class“std::shared_ptr<_Ty>”需要有 dll 接口由 struct“torch::jit::tracer::NoWarn”的客户端使用
            with
            [
                _Ty=torch::jit::tracer::TracingState
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(171): warning C4273: “torch::jit::tracer::addInputs”: dll 链接不一致
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(154): note: 参见“addInputs”的前一个定义
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(178): warning C4273: “torch::jit::tracer::addInputs”: dll 链接不一致
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(160): note: 参见“addInputs”的前一个定义
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/data/samplers/distributed.h(96): warning C4251: “torch::data::samplers::DistributedRandomSampler::all_indices_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::data::samplers::DistributedRandomSampler”的客户端使用
            with
            [
                T=size_t,
                _Ty=size_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/data/samplers/distributed.h(129): warning C4251: “torch::data::samplers::DistributedSequentialSampler::all_indices_”: class“std::vector<T,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::data::samplers::DistributedSequentialSampler”的客户端使用
            with
            [
                T=size_t,
                _Ty=size_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/serialize/input-archive.h(89): warning C4251: “torch::serialize::InputArchive::module_”: class“std::shared_ptr<torch::jit::script::Module> ”需要有 dll 接口由 class“torch::serialize::InputArchive”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/serialize/output-archive.h(66): warning C4251: “torch::serialize::OutputArchive::module_”: class“std::shared_ptr<torch::jit::script::Module>”需要有 dll 接口由 class“torch::serialize::OutputArchive”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/lexer.h(356): warning C4251: “torch::jit::script::SharedParserData::head”: class“std::unique_ptr<torch::jit::script::TokenTrie,std::default_delete<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::SharedParserData”的客户端使用
            with
            [
                _Ty=torch::jit::script::TokenTrie
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/lexer.h(382): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/lexer.h(458): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(168): warning C4251: “torch::jit::ArgumentSpecCreator::instructions_”: class“std::vector<torch::jit::ArgumentSpecCreator::Inst,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::ArgumentSpecCreator”的客户端使用
            with
            [
                _Ty=torch::jit::ArgumentSpecCreator::Inst
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(201): warning C4267: “初始化”: 从“size_t”转换到“int32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(204): warning C4267: “初始化”: 从“size_t”转换到“int32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\c10/util/ArrayRef.h(144): warning C4267: “初始化”: 从“size_t”转换到“const int32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(209): warning C4244: “+=”: 从“int64_t”转换到“int32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(229): warning C4244: “+=”: 从“int64_t”转换到“int32_t”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(293): warning C4800: “const unsigned int”: 将值强制为布尔值“true”或“false”(性能警告)
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/argument_spec.h(391): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/interpreter.h(44): warning C4251: “torch::jit::Code::pImpl”: class“std::shared_ptr<torch::jit::CodeImpl>”需要有 dll 接口由 struct“torch::jit::Code”的 客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/graph_executor.h(41): warning C4251: “torch::jit::GraphExecutor::pImpl”: class“std::shared_ptr<torch::jit::GraphExecutorImpl>”需要有 dll 接口由 struct“torch::jit::GraphExecutor”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(160): warning C4251: “torch::jit::script::Function::name_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(161): warning C4251: “torch::jit::script::Function::graph_”: class“std::shared_ptr<torch::jit::Graph>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(166): warning C4251: “torch::jit::script::Function::executor_init_”: struct“std::once_flag”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
    E:\program files\C#\VC\INCLUDE\mutex(397): note: 参见“std::once_flag”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(171): warning C4251: “torch::jit::script::Function::function_creator_”: class“std::function<void (torch::jit::script::Function &)>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(176): warning C4251: “torch::jit::script::Function::schema_”: class“std::unique_ptr<c10::FunctionSchema,std::default_delete<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Function”的客户端使用
            with
            [
                _Ty=c10::FunctionSchema
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(266): warning C4251: “torch::jit::script::CompilationUnit::functions_”: class“std::vector<std::shared_ptr<torch::jit::script::Function>,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::CompilationUnit”的客户端使用
            with
            [
                _Ty=std::shared_ptr<torch::jit::script::Function>
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/compilation_unit.h(268): warning C4251: “torch::jit::script::CompilationUnit::dict_”: class“std::unordered_map<std::string,size_t,std::hash<std::string>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>”需要有 dll 接口由 struct“torch::jit::script::CompilationUnit”的客户端使用
            with
            [
                _Kty=std::string,
                _Ty=size_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(123): warning C4251: “torch::jit::script::Method::function_”: class“std::shared_ptr<torch::jit::script::Function>”需要有 dll 接口由 struct“torch::jit::script::Method”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(127): warning C4251: “torch::jit::script::Method::initial_ivalues_”: class“std::vector<torch::jit::script::Slot,std::allocator<_Ty>>”需 要有 dll 接口由 struct“torch::jit::script::Method”的客户端使用
            with
            [
                _Ty=torch::jit::script::Slot
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(128): warning C4251: “torch::jit::script::Method::schema_”: struct“c10::FunctionSchema”需要有 dll 接口由 struct“torch::jit::script::Method”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\ATen/core/function_schema.h(96): note: 参见“c10::FunctionSchema”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(543): warning C4251: “torch::jit::script::Module::modules_”: class“std::vector<std::shared_ptr<torch::jit::script::Module>,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
            with
            [
                _Ty=std::shared_ptr<torch::jit::script::Module>
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(544): warning C4251: “torch::jit::script::Module::parameters_”: class“std::vector<torch::jit::script::Slot,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
            with
            [
                _Ty=torch::jit::script::Slot
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(545): warning C4251: “torch::jit::script::Module::attributes_”: class“std::vector<torch::jit::script::Slot,std::allocator<_Ty>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
            with
            [
                _Ty=torch::jit::script::Slot
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(546): warning C4251: “torch::jit::script::Module::methods_”: class“std::vector<std::unique_ptr<torch::jit::script::Method,std::default_delete<_Ty>>,std::allocator<std::unique_ptr<_Ty,std::default_delete<_Ty>>>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
            with
            [
                _Ty=torch::jit::script::Method
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(548): warning C4251: “torch::jit::script::Module::dict_”: class“std::unordered_map<std::string,torch::jit::script::Module::Entry,std::hash<std::string>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
            with
            [
                _Kty=std::string,
                _Ty=torch::jit::script::Module::Entry
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(549): warning C4251: “torch::jit::script::Module::name_”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(551): warning C4251: “torch::jit::script::Module::module_value_”: class“c10::intrusive_ptr<c10::ivalue::Object,c10::detail::intrusive_target_default_null_type<TTarget>>”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
            with
            [
                TTarget=c10::ivalue::Object
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/module.h(566): warning C4251: “torch::jit::script::Module::create_method_guard_”: class“std::recursive_mutex”需要有 dll 接口由 struct“torch::jit::script::Module”的客户端使用
    E:\program files\C#\VC\INCLUDE\mutex(89): note: 参见“std::recursive_mutex”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(25): warning C4251: “std::enable_shared_from_this<torch::jit::script::SugaredValue>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<torch::jit::script::SugaredValue>”的客户端使用
            with
            [
                _Ty=torch::jit::script::SugaredValue
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(156): warning C4251: “torch::jit::script::BuiltinFunction::self”: class“c10::optional<torch::jit::NamedValue>”需要有 dll 接口由 struct“torch::jit::script::BuiltinFunction”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(185): warning C4251: “torch::jit::script::BuiltinModule::name”: class“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”需要有 dll 接口由 struct“torch::jit::script::BuiltinModule”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(188): warning C4251: “torch::jit::script::BuiltinModule::version”: class“c10::optional<int64_t>”需要有 dll 接口由 struct“torch::jit::script::BuiltinModule”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(214): warning C4251: “torch::jit::script::ClassValue::type_”: class“std::shared_ptr<c10::ClassType>”需要有 dll 接口由 struct“torch::jit::script::ClassValue”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(282): warning C4251: “torch::jit::script::CastValue::type_”: class“std::shared_ptr<c10::Type>”需要有 dll 接口由 struct“torch::jit::script::CastValue”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch/csrc/jit/script/sugared_value.h(338): warning C4251: “torch::jit::script::ClassNewMethod::type_”: class“std::shared_ptr<c10::ClassType>”需要有 dll 接口由 struct “torch::jit::script::ClassNewMethod”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(62): warning C4251: “std::enable_shared_from_this<torch::nn::Module>::_Wptr”: class“std::weak_ptr<_Ty>”需要有 dll 接口由 class“std::enable_shared_from_this<torch::nn::Module>”的客户端使用
            with
            [
                _Ty=torch::nn::Module
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(514): warning C4251: “torch::nn::Module::parameters_”: class“torch::OrderedDict<std::string,at::Tensor>”需要有 dll 接口由 class“torch::nn::Module”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(517): warning C4251: “torch::nn::Module::buffers_”: class“torch::OrderedDict<std::string,at::Tensor>”需要有 dll 接口由 class“torch::nn::Module”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(520): warning C4251: “torch::nn::Module::children_”: class“torch::OrderedDict<std::string,std::shared_ptr<_Ty>>”需要有 dll 接 口由 class“torch::nn::Module”的客户端使用
            with
            [
                _Ty=torch::nn::Module
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/module.h(523): warning C4251: “torch::nn::Module::name_”: class“c10::optional<std::string>”需要有 dll 接口由 class“torch::nn::Module”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/conv.h(111): warning C4251: “torch::nn::ConvImpl<0x01,torch::nn::Conv1dImpl>::options”: struct“torch::nn::ConvOptions<0x01>”需 要有 dll 接口由 class“torch::nn::ConvImpl<0x01,torch::nn::Conv1dImpl>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/conv.h(131): warning C4251: “torch::nn::ConvImpl<0x02,torch::nn::Conv2dImpl>::options”: struct“torch::nn::ConvOptions<0x02>”需 要有 dll 接口由 class“torch::nn::ConvImpl<0x02,torch::nn::Conv2dImpl>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/conv.h(151): warning C4251: “torch::nn::ConvImpl<0x03,torch::nn::Conv3dImpl>::options”: struct“torch::nn::ConvOptions<0x03>”需 要有 dll 接口由 class“torch::nn::ConvImpl<0x03,torch::nn::Conv3dImpl>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/functional.h(94): warning C4251: “torch::nn::FunctionalImpl::function_”: class“std::function<at::Tensor (at::Tensor)>”需要有 dll 接口由 class“torch::nn::FunctionalImpl”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::w_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::w_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::b_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::b_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::cudnn_mode_”: class“c10::optional<torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::CuDNNMode>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(177): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>::flat_weights_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::RNNImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::w_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::w_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::b_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::b_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::cudnn_mode_”: class“c10::optional<torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::CuDNNMode>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(208): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>::flat_weights_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::LSTMImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::w_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::w_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::b_ih”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::b_hh”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::cudnn_mode_”: class“c10::optional<torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::CuDNNMode>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/rnn.h(234): warning C4251: “torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>::flat_weights_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::nn::detail::RNNImplBase<torch::nn::GRUImpl>”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/nn/modules/sequential.h(354): error C2580: “torch::nn::SequentialImpl::SequentialImpl(void)”: 不允许使用多个版本的有默认特殊成员函数
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(83): warning C4251: “torch::optim::detail::OptimizerBase::parameters_”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::detail::OptimizerBase”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(28): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::Adagrad”的基
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(28): note: 参见“torch::optim::Adagrad”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(44): warning C4251: “torch::optim::Adagrad::sum_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接 口由 class“torch::optim::Adagrad”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adagrad.h(45): warning C4251: “torch::optim::Adagrad::step_buffers”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口 由 class“torch::optim::Adagrad”的客户端使用
            with
            [
                _Ty=int64_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(31): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::Adam”的基
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(31): note: 参见“torch::optim::Adam”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(45): warning C4251: “torch::optim::Adam::step_buffers”: class“std::vector<int64_t,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
            with
            [
                _Ty=int64_t
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(46): warning C4251: “torch::optim::Adam::exp_average_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll  接口由 class“torch::optim::Adam”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(47): warning C4251: “torch::optim::Adam::exp_average_sq_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(48): warning C4251: “torch::optim::Adam::max_exp_average_sq_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要 有 dll 接口由 class“torch::optim::Adam”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(22): warning C4305: “初始化”: 从“double”到“float”截断
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(23): warning C4305: “初始化”: 从“double”到“float”截断
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(27): warning C4275: 非 dll 接口 class“torch::optim::LossClosureOptimizer”用作 dll 接口 class“torch::optim::LBFGS”的基
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(110): note: 参见“torch::optim::LossClosureOptimizer”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(27): note: 参见“torch::optim::LBFGS”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(48): warning C4251: “torch::optim::LBFGS::ro”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(49): warning C4251: “torch::optim::LBFGS::al”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(50): warning C4251: “torch::optim::LBFGS::old_dirs”: class“std::deque<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(51): warning C4251: “torch::optim::LBFGS::old_stps”: class“std::deque<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(34): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::RMSprop”的基
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(34): note: 参见“torch::optim::RMSprop”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(50): warning C4251: “torch::optim::RMSprop::square_average_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需 要有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(51): warning C4251: “torch::optim::RMSprop::momentum_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(52): warning C4251: “torch::optim::RMSprop::grad_average_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要 有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(31): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::SGD”的基
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(31): note: 参见“torch::optim::SGD”的声明
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(45): warning C4251: “torch::optim::SGD::momentum_buffers”: class“std::vector<at::Tensor,std::allocator<_Ty>>”需要有 dll 接口由 class“torch::optim::SGD”的客户端使用
            with
            [
                _Ty=at::Tensor
            ]
    e:\anaconda\envs\torchwithsparse\lib\site-packages\torch\include\pybind11\detail/common.h(71): fatal error C1189: #error:  pybind11 requires MSVC 2015 update 3 or newer
    error: command 'E:\\program files\\C#\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command "'e:\anaconda\envs\torchwithsparse\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\WANG\\AppData\\Local\\Temp\\pip-install-bkdrkgzk\\torch-scatter\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\WANG\AppData\Local\Temp\pip-record-1lcov4qq\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\WANG\AppData\Local\Temp\pip-install-bkdrkgzk\torch-scatter\

compile error on macOS

macOS 10.14.2 (18C54)
Python 3.7.1
PyTorch 1.0.0
no CUDA, just want to use CPU

compiling with python which was installed with homebrew, got the following errors.
I am wondering, I don't have CUDA, why it printed this

No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'

~ python -m pip install torch-scatter
Collecting torch-scatter
  Downloading https://files.pythonhosted.org/packages/91/5f/eb1d3ef3810cb1165859d40db4d9ee6d7f1dfef97d7e5c34010055f43d95/torch_scatter-1.1.1.tar.gz
Installing collected packages: torch-scatter
  Found existing installation: torch-scatter 1.0.4
    Uninstalling torch-scatter-1.0.4:
      Successfully uninstalled torch-scatter-1.0.4
  Running setup.py install for torch-scatter ... error
    Complete output from command /usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-install-q01b7co4/torch-scatter/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/tmp/pip-record-2b2lb_2d/install-record.txt --single-version-externally-managed --compile:
    No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.14-x86_64-3.7
    creating build/lib.macosx-10.14-x86_64-3.7/test
    copying test/test_std.py -> build/lib.macosx-10.14-x86_64-3.7/test
    copying test/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/test
    copying test/test_forward.py -> build/lib.macosx-10.14-x86_64-3.7/test
    copying test/utils.py -> build/lib.macosx-10.14-x86_64-3.7/test
    copying test/test_backward.py -> build/lib.macosx-10.14-x86_64-3.7/test
    creating build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/max.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/add.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/div.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/std.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/min.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/mean.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/mul.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    copying torch_scatter/sub.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter
    creating build/lib.macosx-10.14-x86_64-3.7/torch_scatter/utils
    copying torch_scatter/utils/gen.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter/utils
    copying torch_scatter/utils/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter/utils
    copying torch_scatter/utils/ext.py -> build/lib.macosx-10.14-x86_64-3.7/torch_scatter/utils
    running build_ext
    building 'torch_scatter.scatter_cpu' extension
    creating build/temp.macosx-10.14-x86_64-3.7
    creating build/temp.macosx-10.14-x86_64-3.7/cpu
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/lib/python3.7/site-packages/torch/lib/include -I/usr/local/lib/python3.7/site-packages/torch/lib/include/torch/csrc/api/include -I/usr/local/lib/python3.7/site-packages/torch/lib/include/TH -I/usr/local/lib/python3.7/site-packages/torch/lib/include/THC -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c cpu/scatter.cpp -o build/temp.macosx-10.14-x86_64-3.7/cpu/scatter.o -Wno-unused-variable -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cpu -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
    clang++ -bundle -undefined dynamic_lookup -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk build/temp.macosx-10.14-x86_64-3.7/cpu/scatter.o -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/sqlite/lib -o build/lib.macosx-10.14-x86_64-3.7/torch_scatter/scatter_cpu.cpython-37m-darwin.so
    building 'torch_scatter.scatter_cuda' extension
    creating build/temp.macosx-10.14-x86_64-3.7/cuda
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/lib/python3.7/site-packages/torch/lib/include -I/usr/local/lib/python3.7/site-packages/torch/lib/include/torch/csrc/api/include -I/usr/local/lib/python3.7/site-packages/torch/lib/include/TH -I/usr/local/lib/python3.7/site-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c cuda/scatter.cpp -o build/temp.macosx-10.14-x86_64-3.7/cuda/scatter.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
    /usr/local/cuda/bin/nvcc -I/usr/local/lib/python3.7/site-packages/torch/lib/include -I/usr/local/lib/python3.7/site-packages/torch/lib/include/torch/csrc/api/include -I/usr/local/lib/python3.7/site-packages/torch/lib/include/TH -I/usr/local/lib/python3.7/site-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c cuda/scatter_kernel.cu -o build/temp.macosx-10.14-x86_64-3.7/cuda/scatter_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
    nvcc fatal   : The version ('100000') of the host compiler ('Apple clang') is not supported
    error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1
    
    ----------------------------------------
  Rolling back uninstall of torch-scatter
Command "/usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-install-q01b7co4/torch-scatter/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/tmp/pip-record-2b2lb_2d/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-install-q01b7co4/torch-scatter/

torch/csrc/python_headers.h:9:20: fatal error: Python.h: no such directory or file

Running setup.py install for torch-scatter ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-install-r_rfcwb7/torch-scatter/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-v_j6975m/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mean.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/init.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/max.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mul.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/add.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/div.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/min.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/std.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/sub.py -> build/lib.linux-x86_64-3.6/torch_scatter
creating build/lib.linux-x86_64-3.6/test
copying test/init.py -> build/lib.linux-x86_64-3.6/test
copying test/utils.py -> build/lib.linux-x86_64-3.6/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_std.py -> build/lib.linux-x86_64-3.6/test
copying test/test_multi_gpu.py -> build/lib.linux-x86_64-3.6/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.6/test
creating build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/init.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/gen.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/ext.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
running build_ext
building 'torch_scatter.scatter_cpu' extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/cpu
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.6/dist-packages/torch/lib/include -I/usr/local/lib/python3.6/dist-packages/torch/lib/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/lib/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/lib/include/THC -I/usr/include/python3.6m -c cpu/scatter.cpp -o build/temp.linux-x86_64-3.6/cpu/scatter.o -Wno-unused-variable -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cpu -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /usr/local/lib/python3.6/dist-packages/torch/lib/include/torch/csrc/api/include/torch/python.h:6:0,
from /usr/local/lib/python3.6/dist-packages/torch/lib/include/torch/extension.h:6,
from cpu/scatter.cpp:1:
/usr/local/lib/python3.6/dist-packages/torch/lib/include/torch/csrc/python_headers.h:9:20: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

A failure in running `python setup.py test`

python setup.py test

================================================================= FAILURES =================================================================
______________________________________________________ test_std[dtype5-device5-False] ______________________________________________________

dtype = torch.float64, device = device(type='cpu'), bias = False

    @pytest.mark.parametrize('dtype,device,bias', product(dtypes, devices, biass))
    def test_std(dtype, device, bias):
        src = tensor([[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]], dtype, device)
        index = tensor([[0, 0, 0, 0, 0], [1, 1, 1, 1, 1]], torch.long, device)
    
        out = scatter_std(src, index, dim=-1, unbiased=bias)
        expected = src.std(dim=-1, unbiased=bias)
>       assert out.tolist() == [[expected[0].item(), 0], [0, expected[0].item()]]
E       assert [[1.414213562...213562373095]] == [[1.4142135623...135623730951]]
E         At index 0 diff: [1.414213562373095, 0.0] != [1.4142135623730951, 0]
E         Use -v to get the full diff

test/test_std.py:19: AssertionError

----------- coverage: platform linux, python 3.6.8-final-0 -----------
Name                              Stmts   Miss  Cover
-----------------------------------------------------
torch_scatter/__init__.py            10      0   100%
torch_scatter/add.py                  4      0   100%
torch_scatter/div.py                 14      0   100%
torch_scatter/max.py                 15      0   100%
torch_scatter/mean.py                 6      0   100%
torch_scatter/min.py                 15      0   100%
torch_scatter/mul.py                 14      0   100%
torch_scatter/std.py                 14      0   100%
torch_scatter/sub.py                  3      0   100%
torch_scatter/utils/__init__.py       0      0   100%
torch_scatter/utils/ext.py            5      0   100%
torch_scatter/utils/gen.py           13      0   100%
-----------------------------------------------------
TOTAL                               113      0   100%

================================================== 1 failed, 194 passed in 14.12 seconds ===================================================

I think it just a bug.

Building the library fails with an error "x86_64-linux-gnu-gcc: error: torch_scatter/build/kernel.so: No such file or directory error: command 'x86_64-linux-gnu-gcc' failed with exit status 1"

I'm receiving an error "x86_64-linux-gnu-gcc: error: torch_scatter/build/kernel.so: No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1" while building the library.

Compiling kernel...
./build.sh: 10: ./build.sh: -c: not found
running install
running bdist_egg
running egg_info
writing top-level names to torch_scatter.egg-info/top_level.txt
writing dependency_links to torch_scatter.egg-info/dependency_links.txt
writing torch_scatter.egg-info/PKG-INFO
writing requirements to torch_scatter.egg-info/requires.txt
reading manifest file 'torch_scatter.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'torch_scatter.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-3.5
creating build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/__init__.py -> build/lib.linux-x86_64-3.5/torch_scatter
creating build/lib.linux-x86_64-3.5/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.5/test
copying test/utils.py -> build/lib.linux-x86_64-3.5/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.5/test
copying test/__init__.py -> build/lib.linux-x86_64-3.5/test
creating build/lib.linux-x86_64-3.5/torch_scatter/_ext
copying torch_scatter/_ext/__init__.py -> build/lib.linux-x86_64-3.5/torch_scatter/_ext
creating build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/add.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/scatter.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/sub.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/div.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/min.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/mean.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/ffi.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/mul.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/max.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/utils.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
copying torch_scatter/functions/__init__.py -> build/lib.linux-x86_64-3.5/torch_scatter/functions
creating build/lib.linux-x86_64-3.5/torch_scatter/_ext/ffi
copying torch_scatter/_ext/ffi/__init__.py -> build/lib.linux-x86_64-3.5/torch_scatter/_ext/ffi
running build_ext
generating cffi module 'build/temp.linux-x86_64-3.5/torch_scatter._ext.ffi._ffi.c'
creating build/temp.linux-x86_64-3.5
building 'torch_scatter._ext.ffi._ffi' extension
creating build/temp.linux-x86_64-3.5/build
creating build/temp.linux-x86_64-3.5/build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/home
creating build/temp.linux-x86_64-3.5/home/eman
creating build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation
creating build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation/pytorch_scatter-master
creating build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter
creating build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/THC -I/usr/local/cuda/include -Itorch_scatter/src -Itorch_scatter/kernel -I/usr/include/python3.5m -c build/temp.linux-x86_64-3.5/torch_scatter._ext.ffi._ffi.c -o build/temp.linux-x86_64-3.5/build/temp.linux-x86_64-3.5/torch_scatter._ext.ffi._ffi.o
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/THC -I/usr/local/cuda/include -Itorch_scatter/src -Itorch_scatter/kernel -I/usr/include/python3.5m -c /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c -o build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.o
In file included from /usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/TH.h:19:0,
                 from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:1:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mul_Float’:
torch_scatter/src/generic/cpu.c:8:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:8:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_div_Float’:
torch_scatter/src/generic/cpu.c:19:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:19:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
In file included from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:3:0:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mean_Float’:
torch_scatter/src/generic/cpu.c:30:73: warning: variable ‘count_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                                         ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_max_Float’:
torch_scatter/src/generic/cpu.c:42:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_min_Float’:
torch_scatter/src/generic/cpu.c:56:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘index_backward_Float’:
torch_scatter/src/generic/cpu.c:70:75: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                                           ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:60: warning: variable ‘grad_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:30: warning: variable ‘output_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                              ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:3:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR1##_stride = 0, TENSOR1##_size = 0; \
                                 ^
In file included from /usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/TH.h:19:0,
                 from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:1:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mul_Double’:
torch_scatter/src/generic/cpu.c:8:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:8:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_div_Double’:
torch_scatter/src/generic/cpu.c:19:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:19:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
In file included from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:3:0:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mean_Double’:
torch_scatter/src/generic/cpu.c:30:73: warning: variable ‘count_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                                         ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_max_Double’:
torch_scatter/src/generic/cpu.c:42:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_min_Double’:
torch_scatter/src/generic/cpu.c:56:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘index_backward_Double’:
torch_scatter/src/generic/cpu.c:70:75: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                                           ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:60: warning: variable ‘grad_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:30: warning: variable ‘output_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                              ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:3:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR1##_stride = 0, TENSOR1##_size = 0; \
                                 ^
In file included from /usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/TH.h:19:0,
                 from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:1:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mul_Byte’:
torch_scatter/src/generic/cpu.c:8:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:8:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_div_Byte’:
torch_scatter/src/generic/cpu.c:19:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:19:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
In file included from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:3:0:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mean_Byte’:
torch_scatter/src/generic/cpu.c:30:73: warning: variable ‘count_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                                         ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_max_Byte’:
torch_scatter/src/generic/cpu.c:42:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_min_Byte’:
torch_scatter/src/generic/cpu.c:56:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘index_backward_Byte’:
torch_scatter/src/generic/cpu.c:70:75: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                                           ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:60: warning: variable ‘grad_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:30: warning: variable ‘output_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                              ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:3:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR1##_stride = 0, TENSOR1##_size = 0; \
                                 ^
In file included from /usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/TH.h:19:0,
                 from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:1:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mul_Char’:
torch_scatter/src/generic/cpu.c:8:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:8:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_div_Char’:
torch_scatter/src/generic/cpu.c:19:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:19:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
In file included from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:3:0:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mean_Char’:
torch_scatter/src/generic/cpu.c:30:73: warning: variable ‘count_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                                         ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_max_Char’:
torch_scatter/src/generic/cpu.c:42:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_min_Char’:
torch_scatter/src/generic/cpu.c:56:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘index_backward_Char’:
torch_scatter/src/generic/cpu.c:70:75: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                                           ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:60: warning: variable ‘grad_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:30: warning: variable ‘output_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                              ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:3:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR1##_stride = 0, TENSOR1##_size = 0; \
                                 ^
In file included from /usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/TH.h:19:0,
                 from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:1:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mul_Short’:
torch_scatter/src/generic/cpu.c:8:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:8:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_div_Short’:
torch_scatter/src/generic/cpu.c:19:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:19:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
In file included from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:3:0:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mean_Short’:
torch_scatter/src/generic/cpu.c:30:73: warning: variable ‘count_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                                         ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_max_Short’:
torch_scatter/src/generic/cpu.c:42:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_min_Short’:
torch_scatter/src/generic/cpu.c:56:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘index_backward_Short’:
torch_scatter/src/generic/cpu.c:70:75: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                                           ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:60: warning: variable ‘grad_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:30: warning: variable ‘output_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                              ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:3:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR1##_stride = 0, TENSOR1##_size = 0; \
                                 ^
In file included from /usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/TH.h:19:0,
                 from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:1:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mul_Int’:
torch_scatter/src/generic/cpu.c:8:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:8:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_div_Int’:
torch_scatter/src/generic/cpu.c:19:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:19:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
In file included from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:3:0:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mean_Int’:
torch_scatter/src/generic/cpu.c:30:73: warning: variable ‘count_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                                         ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_max_Int’:
torch_scatter/src/generic/cpu.c:42:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_min_Int’:
torch_scatter/src/generic/cpu.c:56:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘index_backward_Int’:
torch_scatter/src/generic/cpu.c:70:75: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                                           ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:60: warning: variable ‘grad_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:30: warning: variable ‘output_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                              ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:3:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR1##_stride = 0, TENSOR1##_size = 0; \
                                 ^
In file included from /usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/TH.h:19:0,
                 from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:1:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mul_Long’:
torch_scatter/src/generic/cpu.c:8:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:8:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_div_Long’:
torch_scatter/src/generic/cpu.c:19:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                                            ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:41:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:19:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY3(real, output, int64_t, index, real, input, dim, TH_TENSOR_DIM_APPLY3_SIZE_EQ_E
                                               ^
/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH/THTensorDimApply.h:39:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY3’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
In file included from /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.c:3:0:
torch_scatter/src/generic/cpu.c: In function ‘scatter_mean_Long’:
torch_scatter/src/generic/cpu.c:30:73: warning: variable ‘count_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                                         ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:30:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, real, count, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_max_Long’:
torch_scatter/src/generic/cpu.c:42:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:42:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘scatter_min_Long’:
torch_scatter/src/generic/cpu.c:56:76: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:60: warning: variable ‘input_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:56:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, input, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c: In function ‘index_backward_Long’:
torch_scatter/src/generic/cpu.c:70:75: warning: variable ‘arg_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                                           ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:9:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR4##_stride = 0, TENSOR4##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:60: warning: variable ‘grad_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                                            ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:7:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR3##_stride = 0, TENSOR3##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:47: warning: variable ‘index_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                                               ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:5:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR2##_stride = 0, TENSOR2##_size = 0; \
                                 ^
torch_scatter/src/generic/cpu.c:70:30: warning: variable ‘output_size’ set but not used [-Wunused-but-set-variable]
   TH_TENSOR_DIM_APPLY4(real, output, int64_t, index, real, grad, int64_t, arg, dim,
                              ^
/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/THTensorDimApply4.h:3:33: note: in definition of macro ‘TH_TENSOR_DIM_APPLY4’
   int64_t TENSOR1##_stride = 0, TENSOR1##_size = 0; \
                                 ^
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/TH -I/usr/local/lib/python3.5/dist-packages/torch/utils/ffi/../../lib/include/THC -I/usr/local/cuda/include -Itorch_scatter/src -Itorch_scatter/kernel -I/usr/include/python3.5m -c /home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cuda.c -o build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cuda.o
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/build/temp.linux-x86_64-3.5/torch_scatter._ext.ffi._ffi.o build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cpu.o build/temp.linux-x86_64-3.5/home/eman/Pytorch_Installation/pytorch_scatter-master/torch_scatter/src/cuda.o torch_scatter/build/kernel.so -o build/lib.linux-x86_64-3.5/torch_scatter/_ext/ffi/_ffi.abi3.so
x86_64-linux-gnu-gcc: error: torch_scatter/build/kernel.so: No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Thanks for help

cannot install in Ubuntu

(pyTorch) sxg@wow-Super-Server:/mntc/sxg/myenv/pyTorch/bin$ pip3 install torch-scatter
Collecting torch-scatter
Using cached https://files.pythonhosted.org/packages/07/c0/f7ac424496f4a3bcb31aa993fba29077a6d42fc2624c66e90b58a566a98e/torch_scatter-1.2.0.tar.gz
Building wheels for collected packages: torch-scatter
Building wheel for torch-scatter (setup.py) ... error
ERROR: Complete output from command /mntc/sxg/myenv/pyTorch/bin/python3 -u -c 'import setuptools, tokenize;file='"'"'/mntc/sxg/myenv/pyTorch/bin/pip-install-j1fy_xnx/torch-scatter/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /mntc/sxg/myenv/pyTorch/bin/pip-wheel-cfp3jqyj --python-tag cp36:
ERROR: running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/max.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/add.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mul.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mean.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/div.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/min.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/sub.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/std.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/init.py -> build/lib.linux-x86_64-3.6/torch_scatter
creating build/lib.linux-x86_64-3.6/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_multi_gpu.py -> build/lib.linux-x86_64-3.6/test
copying test/utils.py -> build/lib.linux-x86_64-3.6/test
copying test/test_std.py -> build/lib.linux-x86_64-3.6/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.6/test
copying test/init.py -> build/lib.linux-x86_64-3.6/test
creating build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/ext.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/gen.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/init.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
running build_ext
Traceback (most recent call last):
File "", line 1, in
File "/mntc/sxg/myenv/pyTorch/bin/pip-install-j1fy_xnx/torch-scatter/setup.py", line 44, in
packages=find_packages(),
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/setuptools/init.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 192, in run
self.run_command('build')
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 232, in build_extensions
self._check_abi()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 370, in _check_abi
check_compiler_abi_compatibility(compiler)
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 162, in check_compiler_abi_compatibility
if not check_compiler_ok_for_platform(compiler):
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 138, in check_compiler_ok_for_platform
which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'x86_64-linux-gnu-g++']' returned non-zero exit status 1.

ERROR: Failed building wheel for torch-scatter
Running setup.py clean for torch-scatter
Failed to build torch-scatter
Installing collected packages: torch-scatter
Running setup.py install for torch-scatter ... error
ERROR: Complete output from command /mntc/sxg/myenv/pyTorch/bin/python3 -u -c 'import setuptools, tokenize;file='"'"'/mntc/sxg/myenv/pyTorch/bin/pip-install-j1fy_xnx/torch-scatter/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /mntc/sxg/myenv/pyTorch/bin/pip-record-0h8f8cv8/install-record.txt --single-version-externally-managed --compile --install-headers /mntc/sxg/myenv/pyTorch/include/site/python3.6/torch-scatter:
ERROR: running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/max.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/add.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mul.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mean.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/div.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/min.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/sub.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/std.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/init.py -> build/lib.linux-x86_64-3.6/torch_scatter
creating build/lib.linux-x86_64-3.6/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_multi_gpu.py -> build/lib.linux-x86_64-3.6/test
copying test/utils.py -> build/lib.linux-x86_64-3.6/test
copying test/test_std.py -> build/lib.linux-x86_64-3.6/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.6/test
copying test/init.py -> build/lib.linux-x86_64-3.6/test
creating build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/ext.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/gen.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/init.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
running build_ext
Traceback (most recent call last):
File "", line 1, in
File "/mntc/sxg/myenv/pyTorch/bin/pip-install-j1fy_xnx/torch-scatter/setup.py", line 44, in
packages=find_packages(),
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/setuptools/init.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/lib/python3.6/distutils/command/install.py", line 589, in run
self.run_command('build')
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 232, in build_extensions
self._check_abi()
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 370, in _check_abi
check_compiler_abi_compatibility(compiler)
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 162, in check_compiler_abi_compatibility
if not check_compiler_ok_for_platform(compiler):
File "/mntc/sxg/myenv/pyTorch/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 138, in check_compiler_ok_for_platform
which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'x86_64-linux-gnu-g++']' returned non-zero exit status 1.
----------------------------------------
ERROR: Command "/mntc/sxg/myenv/pyTorch/bin/python3 -u -c 'import setuptools, tokenize;file='"'"'/mntc/sxg/myenv/pyTorch/bin/pip-install-j1fy_xnx/torch-scatter/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /mntc/sxg/myenv/pyTorch/bin/pip-record-0h8f8cv8/install-record.txt --single-version-externally-managed --compile --install-headers /mntc/sxg/myenv/pyTorch/include/site/python3.6/torch-scatter" failed with error code 1 in /mntc/sxg/myenv/pyTorch/bin/pip-install-j1fy_xnx/torch-scatter/

Segmentation fault when testing

Hi, rusty1s,

I've install the pytorch_scatter in a conda virtual env. And I encoountered segmentation fault when testing.
I've checked version, cuda=10.0, torch=1.0.1.post2,gcc=7.3

Thank you!

can not install torch_scatter on WIN10 with CUDA 10.0 pytorch 1.1.0

I followed the Installation tuturial https://rusty1s.github.io/pytorch_geometric/build/html/notes/installation.html#frequently-asked-questions and checked every step carefully. But never succeed in Step 3 Install all needed packages: pip install torch-scatter. Anyone can help me?

here is the setup:
Setup: CUDA 10.0, cudNN 7.4.2, VS 2017 , PyTorch 1.1.0 ,WIN10, Anaconda

`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc.exe -c cuda/scatter_kernel.cu -o build\temp.win-amd64-3.6\Release\cuda/scatter_kernel.obj -Xcompiler /wd4819 -Xcompiler /MD -Id:\anaconda\lib\site-packages\torch\include -Id:\anaconda\lib\site-packages\torch\include\torch\csrc\api\include -Id:\anaconda\lib\site-packages\torch\include\TH -Id:\anaconda\lib\site-packages\torch\include\THC "-IC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include" -Id:\anaconda\include -Id:\anaconda\include "-ID:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-ID:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cuda -D_GLIBCXX_USE_CXX11_ABI=0

error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\bin\\nvcc.exe' failed with exit status 2
----------------------------------------

ERROR: Command "'d:\anaconda\python.exe' -u -c 'import setuptools, tokenize;file='"'"'C:\Users\lzt\AppData\Local\Temp\pip-install-zmhx_cj7\torch-scatter\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\lzt\AppData\Local\Temp\pip-record-wou7zo1z\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\lzt\AppData\Local\Temp\pip-install-zmhx_cj7\torch-scatter
`

Doubts with scatter_add

Hi,

I have doubts related to how to use the scatter_add. I have this toy example:

x = torch.tensor([[100., 200.],
        [500., 600.],
        [500., 600.],
        [100., 200.],
        [700., 800.],
        [700., 800.],
        [500., 600.]])

ind =torch.tensor([0, 0, 1, 1, 1, 2, 2])

output = out = scatter_add(x, ind, dim=1, out=None)

expected_output = torch.tensor[1400, 2900, 2600]

I'm getting this error:

RuntimeError: shape '[1, 2]' is invalid for input of size 7

How can I obtain my expected output using scatter_add?

Compiler errors on Windows 10

Getting the following compiler errors on my Windows 10 system. I was able to successfully build pytorch 1.01 on my system. I added the following compiler flags by copying the extra_compiler_args from pytorch's setup.py

extra_compile_args += ['/MD', '/Z7',
'/EHa', '/DNOMINMAX',
'/wd4267', '/wd4251', '/wd4522', '/wd4522', '/wd4838',
'/wd4305', '/wd4244', '/wd4190', '/wd4101', '/wd4996',
'/wd4275']

Doing so suppresses some warnings, but the errors remain. Please help! This is a great library and not being able to build on windows is unfortunate..

running install
running bdist_egg
running egg_info
writing torch_scatter.egg-info\PKG-INFO
writing dependency_links to torch_scatter.egg-info\dependency_links.txt
writing top-level names to torch_scatter.egg-info\top_level.txt
reading manifest file 'torch_scatter.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'torch_scatter.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
running build_ext
building 'torch_scatter.scatter_cpu' extension
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Anaconda3\lib\site-packages\torch\include -IC:\Anaconda3\lib\site-packages\torch\include\torch\csrc\api\include -IC:\Anaconda3\lib\site-packages\torch\include\TH -IC:\Anaconda3\lib\site-packages\torch\include\THC -IC:\Anaconda3\include -IC:\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpcpu/scatter.cpp /Fobuild\temp.win-amd64-3.7\Release\cpu/scatter.obj /MD /Z7 /EHa /DNOMINMAX /wd4267 /wd4251 /wd4522 /wd4522 /wd4838 /wd4305 /wd4244 /wd4190 /wd4101 /wd4996 /wd4275 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cpu /MD
cl : Command line warning D9025 : overriding '/EHs' with '/EHa'
scatter.cpp
C:\Anaconda3\lib\site-packages\torch\include\c10/core/TensorTypeId.h(38): warning C4273: 'c10::toString': inconsistent dll linkage
C:\Anaconda3\lib\site-packages\torch\include\c10/core/TensorTypeId.h(35): note: see previous definition of 'toString'
C:\Anaconda3\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(137): warning C4273: 'torch::jit::tracer::addInputs': inconsistent dll linkage
C:\Anaconda3\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(122): note: see previous definition of 'addInputs'
C:\Anaconda3\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(144): warning C4273: 'torch::jit::tracer::addInputs': inconsistent dll linkage
C:\Anaconda3\lib\site-packages\torch\include\torch/csrc/jit/tracer.h(128): note: see previous definition of 'addInputs'
cpu/scatter.cpp(15): error C2450: switch expression of type 'at::Type' is illegal
cpu/scatter.cpp(15): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
cpu/scatter.cpp(8): error C3861: 'toString': identifier not found
cpu/scatter.cpp(8): error C2440: '': cannot convert from 'initializer list' to 'c10::Error'
cpu/scatter.cpp(15): note: No constructor could take the source type, or constructor overload resolution was ambiguous
cpu/scatter.cpp(28): error C2450: switch expression of type 'at::Type' is illegal
cpu/scatter.cpp(28): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
cpu/scatter.cpp(21): error C3861: 'toString': identifier not found
cpu/scatter.cpp(21): error C2440: '': cannot convert from 'initializer list' to 'c10::Error'
cpu/scatter.cpp(28): note: No constructor could take the source type, or constructor overload resolution was ambiguous
cpu/scatter.cpp(45): error C2450: switch expression of type 'at::Type' is illegal
cpu/scatter.cpp(45): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
cpu/scatter.cpp(34): error C3861: 'toString': identifier not found
cpu/scatter.cpp(34): error C2440: '': cannot convert from 'initializer list' to 'c10::Error'
cpu/scatter.cpp(45): note: No constructor could take the source type, or constructor overload resolution was ambiguous
cpu/scatter.cpp(62): error C2450: switch expression of type 'at::Type' is illegal
cpu/scatter.cpp(62): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
cpu/scatter.cpp(51): error C3861: 'toString': identifier not found
cpu/scatter.cpp(51): error C2440: '': cannot convert from 'initializer list' to 'c10::Error'
cpu/scatter.cpp(62): note: No constructor could take the source type, or constructor overload resolution was ambiguous
cpu/scatter.cpp(78): error C2450: switch expression of type 'at::Type' is illegal
cpu/scatter.cpp(78): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
cpu/scatter.cpp(68): error C3861: 'toString': identifier not found
cpu/scatter.cpp(68): error C2440: '': cannot convert from 'initializer list' to 'c10::Error'
cpu/scatter.cpp(78): note: No constructor could take the source type, or constructor overload resolution was ambiguous
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe' failed with exit status 2

cannot install torch-scatter

Thanks for really good package.

I successfully installed your package in my local server.

But I cannot install it on Google Cloud Platform

I don't know what's wrong with it.
here is the error message and
I use pytorch 1.0 and python 3.6
os is Ubuntu 16.04
image

Scatter max bug with negative numbers

Hi,

I tracked down a bug in version 1.0.4 when computing scatter_max on negative numbers. Is it fixed in master? Or is it expected behaviour?

>>> import torch
>>> import torch_scatter
>>> torch_scatter.scatter_max(torch.tensor([-.1, -.2, -.3]), torch.tensor([0, 1, 0]))
(tensor([0., 0.]), tensor([-1, -1])) # instead of (tensor([-.1, -.2]), tensor([0, 1]))

For now I shift my values to positive, apply max then shift back.

Thank you

Suggestion about the default fill_value of scatter_max and scatter_min

import torch

from torch_scatter import scatter_max, scatter_min

a = torch.randn((3, 5))
i = torch.tensor([0, 1, 2])
print(a)

print(scatter_max(a, i, 0)[0])
print(scatter_max(a, i, 0, fill_value=torch.finfo(torch.float32).min)[0])

print(scatter_min(a, i, 0)[0])
print(scatter_min(a, i, 0, fill_value=torch.finfo(torch.float32).max)[0])

the output is

tensor([[-1.4233,  0.7598,  0.1719, -0.2872, -0.3729],
        [-0.6445,  0.8471,  2.7019,  0.2374, -0.6757],
        [-0.7259, -0.6607,  0.1677,  0.4132,  0.5585]])
tensor([[0.0000, 0.7598, 0.1719, 0.0000, 0.0000],
        [0.0000, 0.8471, 2.7019, 0.2374, 0.0000],
        [0.0000, 0.0000, 0.1677, 0.4132, 0.5585]])
tensor([[-1.4233,  0.7598,  0.1719, -0.2872, -0.3729],
        [-0.6445,  0.8471,  2.7019,  0.2374, -0.6757],
        [-0.7259, -0.6607,  0.1677,  0.4132,  0.5585]])
tensor([[-1.4233,  0.0000,  0.0000, -0.2872, -0.3729],
        [-0.6445,  0.0000,  0.0000,  0.0000, -0.6757],
        [-0.7259, -0.6607,  0.0000,  0.0000,  0.0000]])
tensor([[-1.4233,  0.7598,  0.1719, -0.2872, -0.3729],
        [-0.6445,  0.8471,  2.7019,  0.2374, -0.6757],
        [-0.7259, -0.6607,  0.1677,  0.4132,  0.5585]])

these 0.0000s are obviously not what the users want, but since the default fill_value is set to be 0 it is easy to forget to change it.

How do you think about change the fill_value of

  • scatter_max to torch.finfo(torch.float32).min
  • scatter_min to torch.finfo(torch.float32).max ?

not compatible with PyTorch 0.4.1

fatal error: too many errors emitted, stopping now [-ferror-limit=]
    14 warnings and 20 errors generated.
    error: command 'clang' failed with exit status 1

Undefined symbol error

Hi there,

Everything is fine with the installation process(I'm using gcc 4.9). The 'undefined symbol' run-time error occurred when I trying to run an example program. I tried all the methods mentioned in those threads and the methods in the installation guide (cleaning pip cache, reinstalling packages), I still got this error:

Traceback (most recent call last): File "py_geo_test.py", line 2, in <module> from torch_geometric.data import Data File "/home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_geometric/data/__init__.py", line 1, in <module> from .data import Data File "/home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_geometric/data/data.py", line 2, in <module> from torch_geometric.utils import (contains_isolated_nodes, File "/home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_geometric/utils/__init__.py", line 2, in <module> from .scatter import scatter_ File "/home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_geometric/utils/scatter.py", line 1, in <module> import torch_scatter File "/home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_scatter/__init__.py", line 3, in <module> from .mul import scatter_mul File "/home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_scatter/mul.py", line 3, in <module> from torch_scatter.utils.ext import get_func File "/home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_scatter/utils/ext.py", line 2, in <module> import torch_scatter.scatter_cpu ImportError: /home/derick/.conda/envs/pytorch/lib/python3.6/site-packages/torch_scatter/scatter_cpu.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN3c105ErrorC1ENS_14SourceLocationERKSs

[Feature request] Scatter sort

Hi!
Similar to scatter_max, can we have a scatter_sort that sorts tensors based on index? Here, index represents the graph to which a node belongs and src represents all the nodes in a batch consisting of multiple graphs.

Compilation fails

Hello

I've been trying to run pytorch_geometric and the associated packages with GPU support but cannot install the packages due to compilation errors. The same problem applies to pytorch_unique.

Test setup:

  • Tried both Python 3.6 and Python 2.7
  • Tried both CUDA 8.0 and 9.1 on the host
  • nvcc in the path
  • gcc 6 or below as default compiler (for CUDA support)
  • Tested both in a virtualenv and in a docker container
  • pytorch 0.4.0

The errors:

In file included from /mnt/hdd/mehdi/anaconda3/envs/torchtest/lib/python2.7/site-packages/torch/utils/ffi/../../lib/include/THC/THCGeneral.h:12:0,
                     from /mnt/hdd/mehdi/anaconda3/envs/torchtest/lib/python2.7/site-packages/torch/utils/ffi/../../lib/include/THC/THC.h:4,
                     from build/temp.linux-x86_64-2.7/torch_scatter._ext.ffi._ffi.c:493:
    torch_scatter/src/cuda.h:18:40: error: unknown type name ‘THCudaDoubleTensor’
     void scatter_mean_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaDoubleTensor *count);
                                            ^~~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:18:68: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaDoubleTensor *count);
                                                                        ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:18:93: error: unknown type name ‘THCudaDoubleTensor’
     void scatter_mean_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaDoubleTensor *count);
                                                                                                 ^~~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:18:120: error: unknown type name ‘THCudaDoubleTensor’
     void scatter_mean_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaDoubleTensor *count);
                                                                                                                            ^~~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:19:40: error: unknown type name ‘THCudaByteTensor’
     void scatter_mean_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaByteTensor   *count);
                                            ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:19:68: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaByteTensor   *count);
                                                                        ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:19:93: error: unknown type name ‘THCudaByteTensor’
     void scatter_mean_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaByteTensor   *count);
                                                                                                 ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:19:120: error: unknown type name ‘THCudaByteTensor’
     void scatter_mean_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaByteTensor   *count);
                                                                                                                            ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:20:40: error: unknown type name ‘THCudaCharTensor’
     void scatter_mean_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaCharTensor   *count);
                                            ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:20:68: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaCharTensor   *count);
                                                                        ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:20:93: error: unknown type name ‘THCudaCharTensor’
     void scatter_mean_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaCharTensor   *count);
                                                                                                 ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:20:120: error: unknown type name ‘THCudaCharTensor’
     void scatter_mean_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaCharTensor   *count);
                                                                                                                            ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:21:40: error: unknown type name ‘THCudaShortTensor’
     void scatter_mean_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaShortTensor  *count);
                                            ^~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:21:68: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaShortTensor  *count);
                                                                        ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:21:93: error: unknown type name ‘THCudaShortTensor’
     void scatter_mean_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaShortTensor  *count);
                                                                                                 ^~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:21:120: error: unknown type name ‘THCudaShortTensor’
     void scatter_mean_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaShortTensor  *count);
                                                                                                                            ^~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:22:40: error: unknown type name ‘THCudaIntTensor’
     void scatter_mean_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaIntTensor    *count);
                                            ^~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:22:68: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaIntTensor    *count);
                                                                        ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:22:93: error: unknown type name ‘THCudaIntTensor’
     void scatter_mean_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaIntTensor    *count);
                                                                                                 ^~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:22:120: error: unknown type name ‘THCudaIntTensor’
     void scatter_mean_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaIntTensor    *count);
                                                                                                                            ^~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:23:40: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor   *count);
                                            ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:23:68: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor   *count);
                                                                        ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:23:93: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor   *count);
                                                                                                 ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:23:120: error: unknown type name ‘THCudaLongTensor’
     void scatter_mean_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor   *count);
                                                                                                                            ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:25:39: error: unknown type name ‘THCudaTensor’
     void scatter_max_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~
    torch_scatter/src/cuda.h:25:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:25:92: error: unknown type name ‘THCudaTensor’
     void scatter_max_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~
    torch_scatter/src/cuda.h:25:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:26:39: error: unknown type name ‘THCudaDoubleTensor’
     void scatter_max_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:26:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:26:92: error: unknown type name ‘THCudaDoubleTensor’
     void scatter_max_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:26:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:27:39: error: unknown type name ‘THCudaByteTensor’
     void scatter_max_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:27:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:27:92: error: unknown type name ‘THCudaByteTensor’
     void scatter_max_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:27:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Byte  (int dim, THCudaByteTensor   *output, THCudaLongTensor *index, THCudaByteTensor   *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:28:39: error: unknown type name ‘THCudaCharTensor’
     void scatter_max_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:28:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:28:92: error: unknown type name ‘THCudaCharTensor’
     void scatter_max_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:28:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Char  (int dim, THCudaCharTensor   *output, THCudaLongTensor *index, THCudaCharTensor   *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:29:39: error: unknown type name ‘THCudaShortTensor’
     void scatter_max_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:29:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:29:92: error: unknown type name ‘THCudaShortTensor’
     void scatter_max_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:29:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Short (int dim, THCudaShortTensor  *output, THCudaLongTensor *index, THCudaShortTensor  *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:30:39: error: unknown type name ‘THCudaIntTensor’
     void scatter_max_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:30:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:30:92: error: unknown type name ‘THCudaIntTensor’
     void scatter_max_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:30:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Int   (int dim, THCudaIntTensor    *output, THCudaLongTensor *index, THCudaIntTensor    *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:31:39: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:31:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:31:92: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:31:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_max_cuda_Long  (int dim, THCudaLongTensor   *output, THCudaLongTensor *index, THCudaLongTensor   *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:33:39: error: unknown type name ‘THCudaTensor’
     void scatter_min_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~
    torch_scatter/src/cuda.h:33:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_min_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:33:92: error: unknown type name ‘THCudaTensor’
     void scatter_min_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~
    torch_scatter/src/cuda.h:33:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_min_cuda_Float (int dim, THCudaTensor       *output, THCudaLongTensor *index, THCudaTensor       *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:34:39: error: unknown type name ‘THCudaDoubleTensor’
     void scatter_min_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                           ^~~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:34:67: error: unknown type name ‘THCudaLongTensor’
     void scatter_min_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                                                       ^~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:34:92: error: unknown type name ‘THCudaDoubleTensor’
     void scatter_min_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                                                                                ^~~~~~~~~~~~~~~~~~
    torch_scatter/src/cuda.h:34:119: error: unknown type name ‘THCudaLongTensor’
     void scatter_min_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg);
                                                                                                                           ^~~~~~~~~~~~~~~~
[...]

Basically, all the CUDA tensor types are unknown. My understanding is that they are generated by a set of macros in the Pytorch headers, which seem to be there:

ls /mnt/hdd/mehdi/anaconda3/envs/torchtest/lib/python2.7/site-packages/torch/utils/ffi/../../lib/include/THC
generic                THCCachingHostAllocator.h     THCGenerateAllTypes.h    THCGenerateIntType.h    THCReduceAll.cuh         THCStorage.h       THCTensorMathMagma.cuh      THCTensorTopK.cuh
THCAllocator.h         THCDeviceTensor.cuh           THCGenerateByteType.h    THCGenerateLongType.h   THCReduceApplyUtils.cuh  THCStream.h        THCTensorMathPointwise.cuh  THCTensorTypeUtils.cuh
THCApply.cuh           THCDeviceTensor-inl.cuh       THCGenerateCharType.h    THCGenerateShortType.h  THCReduce.cuh            THCTensorConv.h    THCTensorMathReduce.cuh     THCThreadLocal.h
THCAsmUtils.cuh        THCDeviceTensorUtils.cuh      THCGenerateDoubleType.h  THC.h                   THCScanUtils.cuh         THCTensorCopy.h    THCTensorMode.cuh           THCThrustAllocator.cuh
THCAtomics.cuh         THCDeviceTensorUtils-inl.cuh  THCGenerateFloatType.h   THCHalf.h               THCSleep.h               THCTensor.h        THCTensorRandom.cuh
THCBlas.h              THCDeviceUtils.cuh            THCGenerateFloatTypes.h  THCIntegerDivider.cuh   THCSortUtils.cuh         THCTensorInfo.cuh  THCTensorRandom.h
THCCachingAllocator.h  THCGeneral.h                  THCGenerateHalfType.h    THCNumerics.cuh         THCStorageCopy.h         THCTensorMath.h    THCTensorSort.cuh

Compilation with no CUDA support works fine.

Any help with the issue would be very much appreciated! An please don't hesitate to ask for more information :)

Segmentation fault in test_backward.py

Dear rusty1s,

I am trying to use pytorch_scatter, but the test runs into a segmentation fault:
python setup.py test
running pytest
Searching for pytest-cov
Best match: pytest-cov 2.6.0
Processing pytest_cov-2.6.0-py3.6.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/pytest_cov-2.6.0-py3.6.egg
Searching for pytest
Best match: pytest 4.0.1
Processing pytest-4.0.1-py3.6.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/pytest-4.0.1-py3.6.egg
Searching for coverage>=4.4
Best match: coverage 5.0a3
Processing coverage-5.0a3-py3.6-linux-x86_64.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/coverage-5.0a3-py3.6-linux-x86_64.egg
Searching for py>=1.5.0
Best match: py 1.7.0
Processing py-1.7.0-py3.6.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/py-1.7.0-py3.6.egg
Searching for pluggy>=0.7
Best match: pluggy 0.8.0
Processing pluggy-0.8.0-py3.6.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/pluggy-0.8.0-py3.6.egg
Searching for more-itertools>=4.0.0
Best match: more-itertools 4.3.0
Processing more_itertools-4.3.0-py3.6.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/more_itertools-4.3.0-py3.6.egg
Searching for attrs>=17.4.0
Best match: attrs 18.2.0
Processing attrs-18.2.0-py3.6.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/attrs-18.2.0-py3.6.egg
Searching for atomicwrites>=1.0
Best match: atomicwrites 1.2.1
Processing atomicwrites-1.2.1-py3.6.egg

Using /afm01/scratch/cai/uqsbollm/pytorch_scatter/.eggs/atomicwrites-1.2.1-py3.6.egg
running egg_info
writing torch_scatter.egg-info/PKG-INFO
writing dependency_links to torch_scatter.egg-info/dependency_links.txt
writing top-level names to torch_scatter.egg-info/top_level.txt
reading manifest file 'torch_scatter.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'torch_scatter.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.6/scatter_cpu.cpython-36m-x86_64-linux-gnu.so ->
copying build/lib.linux-x86_64-3.6/scatter_cuda.cpython-36m-x86_64-linux-gnu.so ->
========================================================================================================== test session starts ===========================================================================================================
platform linux -- Python 3.6.5, pytest-4.0.1, py-1.7.0, pluggy-0.8.0
rootdir: /afm01/scratch/cai/uqsbollm/pytorch_scatter, inifile: setup.cfg
plugins: cov-2.6.0
collecting ... [2, 0, 1, 1, 0]
collected 186 items

test/test_backward.py ....Segmentation fault

I have gnu/5.4.0 and cuda/9.1.85.3 loaded. The same problem occurs with cuda/9.1.85.1. When I try with older or newer cuda versions it fails with:
================================================================================================================= ERRORS =================================================================================================================
_________________________________________________________________________________________________ ERROR collecting test/test_backward.py _________________________________________________________________________________________________
ImportError while importing test module '/afm01/scratch/cai/uqsbollm/pytorch_scatter/test/test_backward.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
test/test_backward.py:6: in
import torch_scatter
torch_scatter/init.py:3: in
from .mul import scatter_mul
torch_scatter/mul.py:3: in
from torch_scatter.utils.ext import get_func
torch_scatter/utils/ext.py:5: in
import scatter_cuda
E ImportError: libcudart.so.9.1: cannot open shared object file: No such file or directory
_________________________________________________________________________________________________ ERROR collecting test/test_forward.py __________________________________________________________________________________________________
ImportError while importing test module '/afm01/scratch/cai/uqsbollm/pytorch_scatter/test/test_forward.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
test/test_forward.py:5: in
import torch_scatter
torch_scatter/init.py:3: in
from .mul import scatter_mul
torch_scatter/mul.py:3: in
from torch_scatter.utils.ext import get_func
torch_scatter/utils/ext.py:5: in
import scatter_cuda
E ImportError: libcudart.so.9.1: cannot open shared object file: No such file or directory

My system is 3.10.0-693.17.1.el7.x86_64 and the GPUs are Tesla V100s running with driver version 410.48.

Do you have any idea what I am doing wrong or what else I could try?

Can't install from requirements.txt

I can't install this package from a requirements.txt containing this package and torch. I think this is because torch should be listed in setup_requires? If that is the case, pytorch_sparse has the same issue. The error is the following:

Collecting torch==0.4.1 (from -r requirements.txt (line 29))
  Downloading https://files.pythonhosted.org/packages/49/0e/e382bcf1a6ae8225f50b99cc26effa2d4cc6d66975ccf3fa9590efcbedce/torch-0.4.1-cp36-cp36m-manylinux1_x86_64.whl (519.5MB)
Collecting torch-scatter@ git+https://github.com/rusty1s/pytorch_scatter.git@216b03cda7157439278a1e20983dcc32b5e9d398#egg=pytorch_scatter from git+https://github.com/rusty1s/pytorch_scatter.git@216b03cda7157439278a1e20983dcc32b5e9d398#egg=pytorch_scatter (from -r requirements.txt (line 30))
  Cloning https://github.com/rusty1s/pytorch_scatter.git (to revision 216b03cda7157439278a1e20983dcc32b5e9d398) to /tmp/pip-install-7865i18f/torch-scatter
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-7865i18f/torch-scatter/setup.py", line 2, in <module>
        import torch
    ModuleNotFoundError: No module named 'torch'

can not import pytorch_scatter

I use mac os, and the version is 10.14. But when I want to use torch_scatter, there is a problem as follows. Do you know how to fix it?

import torch
from torch_scatter import scatter_max
Traceback (most recent call last):
File "", line 1, in
File "/Users/zhaoxuandong/anaconda3/lib/python3.6/site-packages/torch_scatter/init.py", line 3, in
from .mul import scatter_mul
File "/Users/zhaoxuandong/anaconda3/lib/python3.6/site-packages/torch_scatter/mul.py", line 3, in
from torch_scatter.utils.ext import get_func
File "/Users/zhaoxuandong/anaconda3/lib/python3.6/site-packages/torch_scatter/utils/ext.py", line 2, in
import scatter_cpu
ImportError: dlopen(/Users/zhaoxuandong/anaconda3/lib/python3.6/site-packages/scatter_cpu.cpython-36m-darwin.so, 2): Symbol not found: __ZN2at5ErrorC1ENS_14SourceLocationESs
Referenced from: /Users/zhaoxuandong/anaconda3/lib/python3.6/site-packages/scatter_cpu.cpython-36m-darwin.so
Expected in: flat namespace
in /Users/zhaoxuandong/anaconda3/lib/python3.6/site-packages/scatter_cpu.cpython-36m-darwin.so

Build cuda without cuda?

Hello,

I have build my project, and resolve its dependencies when building a Singularity image (think Docker without sudo rights for executing).
I need sudo rights to build the image, so I do it on my machine, without GPU, and run the image on a cluster with GPU (there is a special flag to expose the GPU driver).

When I build my image, I take the PyTorch version with GPU, even though I don't have any when I do the install. This does not give me any problem and I can run GPU code when I deploy.

Now, resolving pytorch_scatter (et. al.), this resolves to False and the Cuda extension is not built. I get at run-time:

/usr/lib/python3.7/site-packages/torch_scatter/utils/ext.py:5: in <module>
    import scatter_cuda
E   ModuleNotFoundError: No module named 'scatter_cuda'

Is it possible to change the test torch.cuda.is_available() in setup.py to something less strong, i.e. ensuring that the extension can be built but not that there is a full Cuda run-time?
I'm not even sure that's possible...

Thanks

scatter_ops in nn.DataParallel mode

Hi @rusty1s . Thanks for the great package :)

Question

How can I use scatter_add inside data_parallel to get the expected behaviour below?
Please help me out with this.

Expected behaviour

Basically, what I want is that out and out_parallel should be same, but out_parallel i.e in case of data parallel model, gives an output with shape (10,3) whereas I intend to get the same answer as in out with expected output shape of (5,3).

This is probably happening because DataParallel splits the index and src along batch_first=0 dimension, and then when these indices are used for scatter_add the output becomes different on combining the split up tensors back to a single GPU.

To Reproduce

Steps to reproduce the behaviour:

  1. Run the below dummy code snippet.
  2. Use 2 GPUs for running(export CUDA_VISIBLE_DEVICES=0,1).
import torch
import torch.nn as nn
from torch_scatter import scatter_add

class Scatter_Check(nn.Module):
    def __init__(self):
        super().__init__()
        
    def forward(self, index, src):
        print("\nindex:", index)
        out = scatter_add(src.view(-1,3), index.view(-1), dim=0)
        return out

atom_emb = torch.arange(0,60, dtype=torch.int, device=torch.device('cuda:0')).reshape(4,5,3)
atom_amino_idx = torch.randint(0, 5, size=(4,5)).cuda()
print("atom_amino_idx:", atom_amino_idx)
print("atom_emb:", atom_emb)

out = scatter_add(atom_emb.view(-1,3), atom_amino_idx.view(-1), dim=0)
print("\nout:", out)
print("out shape:", out.shape)

model = Scatter_Check().cuda()
model_parallel = nn.DataParallel(model).cuda()

out_parallel = model_parallel(atom_amino_idx, atom_emb)

print("\nout_parallel:", out_parallel)
print("out_parallel shape", out_parallel.shape)

Output Log:

atom_amino_idx: tensor([[1, 4, 3, 1, 2],
        [1, 0, 0, 1, 1],
        [3, 0, 1, 0, 3],
        [2, 4, 2, 1, 1]], device='cuda:0')
atom_emb: tensor([[[ 0,  1,  2],
         [ 3,  4,  5],
         [ 6,  7,  8],
         [ 9, 10, 11],
         [12, 13, 14]],

        [[15, 16, 17],
         [18, 19, 20],
         [21, 22, 23],
         [24, 25, 26],
         [27, 28, 29]],

        [[30, 31, 32],
         [33, 34, 35],
         [36, 37, 38],
         [39, 40, 41],
         [42, 43, 44]],

        [[45, 46, 47],
         [48, 49, 50],
         [51, 52, 53],
         [54, 55, 56],
         [57, 58, 59]]], device='cuda:0', dtype=torch.int32)

out: tensor([[111, 115, 119],
        [222, 230, 238],
        [108, 111, 114],
        [ 78,  81,  84],
        [ 51,  53,  55]], device='cuda:0', dtype=torch.int32)
out shape: torch.Size([5, 3])

index: 
index: tensor([[1, 4, 3, 1, 2],
        [1, 0, 0, 1, 1]], device='cuda:0')
tensor([[3, 0, 1, 0, 3],
        [2, 4, 2, 1, 1]], device='cuda:1')

out_parallel: tensor([[ 39,  41,  43],
        [ 75,  80,  85],
        [ 12,  13,  14],
        [  6,   7,   8],
        [  3,   4,   5],
        [ 72,  74,  76],
        [147, 150, 153],
        [ 96,  98, 100],
        [ 72,  74,  76],
        [ 48,  49,  50]], device='cuda:0', dtype=torch.int32)
out_parallel shape torch.Size([10, 3])

cannot successfully install "torch_scatter"

I cannot successfully install "torch_scatter".
When I run the command line : pip3 install torch_scatter, an error always occurs, just like below. I tried to solve the problem, but I don't find the correct method. Could you help me? Thanks a lot!

The error:
...
cpu/scatter.cpp:1:29: fatal error: torch/extension.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Failed building wheel for torch-scatter
Running setup.py clean for torch-scatter
Failed to build torch-scatter
Installing collected packages: torch-scatter
Running setup.py install for torch-scatter ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-ijd9s63n/torch-scatter/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-4tkx7v_s-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.5
creating build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/mul.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/mean.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/sub.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/min.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/std.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/init.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/max.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/div.py -> build/lib.linux-x86_64-3.5/torch_scatter
copying torch_scatter/add.py -> build/lib.linux-x86_64-3.5/torch_scatter
creating build/lib.linux-x86_64-3.5/test
copying test/test_multi_gpu.py -> build/lib.linux-x86_64-3.5/test
copying test/utils.py -> build/lib.linux-x86_64-3.5/test
copying test/test_std.py -> build/lib.linux-x86_64-3.5/test
copying test/init.py -> build/lib.linux-x86_64-3.5/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.5/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.5/test
creating build/lib.linux-x86_64-3.5/torch_scatter/utils
copying torch_scatter/utils/ext.py -> build/lib.linux-x86_64-3.5/torch_scatter/utils
copying torch_scatter/utils/init.py -> build/lib.linux-x86_64-3.5/torch_scatter/utils
copying torch_scatter/utils/gen.py -> build/lib.linux-x86_64-3.5/torch_scatter/utils
running build_ext
building 'torch_scatter.scatter_cpu' extension
creating build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/cpu
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/zgh/.local/lib/python3.5/site-packages/torch/lib/include -I/home/zgh/.local/lib/python3.5/site-packages/torch/lib/include/TH -I/home/zgh/.local/lib/python3.5/site-packages/torch/lib/include/THC -I/usr/include/python3.5m -c cpu/scatter.cpp -o build/temp.linux-x86_64-3.5/cpu/scatter.o -Wno-unused-variable -DTORCH_EXTENSION_NAME=scatter_cpu -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cpu/scatter.cpp:1:29: fatal error: torch/extension.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1


Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-ijd9s63n/torch-scatter/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-4tkx7v_s-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ijd9s63n/torch-scatter/
You are using pip version 8.1.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

error: command 'gcc-4.9' failed with exit status 1

Installing pytorch scatter is continuously resulting in this error when using python 2 or python 3. I tried installing from both source and pip and it is still the same.
gcc 4.9 is installed and I'm on ubuntu 18.04

Building on Mac fails with cstddef file not found

Both pip installing and building from source fail with the following.

building 'torch_scatter.scatter_cpu' extension
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/anaconda3/envs/hep/include -arch x86_64 -I/anaconda3/envs/hep/include -arch x86_64 -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/opt/libxml2/include -I/anaconda3/envs/hep/lib/python3.6/site-packages/torch/lib/include -I/anaconda3/envs/hep/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include -I/anaconda3/envs/hep/lib/python3.6/site-packages/torch/lib/include/TH -I/anaconda3/envs/hep/lib/python3.6/site-packages/torch/lib/include/THC -I/anaconda3/envs/hep/include/python3.6m -c cpu/scatter.cpp -o build/temp.macosx-10.7-x86_64-3.6/cpu/scatter.o -Wno-unused-variable -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=scatter_cpu -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library
      instead [-Wstdlibcxx-not-found]
In file included from cpu/scatter.cpp:1:
In file included from /anaconda3/envs/hep/lib/python3.6/site-packages/torch/lib/include/torch/extension.h:4:
In file included from /anaconda3/envs/hep/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include/torch/all.h:3:
/anaconda3/envs/hep/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include/torch/cuda.h:5:10: fatal error: 'cstddef'
      file not found
#include <cstddef>
         ^~~~~~~~~
1 warning and 1 error generated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.