Giter Site home page Giter Site logo

Comments (16)

AdeelH avatar AdeelH commented on May 24, 2024 2

The following works for me:

!pip install --upgrade rastervision==0.21
!pip install --upgrade scikit-image==0.21.0

Followed by restarting the kernel via Run > Restart and clear outputs

Followed by:

from rastervision.core.data import ClassConfig

from raster-vision.

AdeelH avatar AdeelH commented on May 24, 2024

Looks like the same issue as this: https://stackoverflow.com/questions/74918614/error-importing-seaborn-module-attributeerror

Can you try the solutions in that stackoverflow discussion?

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

Just after the pip install I've inserted:

import numpy as np
def dummy_npwarn_decorator_factory():
    def npwarn_decorator(x):
        return x
    return npwarn_decorator
np._no_nep50_warning = getattr(np, '_no_nep50_warning', dummy_npwarn_decorator_factory)

Then, when I try to from rastervision.core.data import ClassConfig, I get:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[4], line 3
      1 import os
      2 from subprocess import check_output
----> 3 from rastervision.core.data import ClassConfig
      4 import torch
      5 import multiprocessing as mp

File /opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py:10
      6     from rastervision.core.cli import predict
      7     registry.add_plugin_command(predict)
---> 10 import rastervision.pipeline
     11 from rastervision.core.box import *
     12 from rastervision.core.data_sample import *

File /opt/conda/lib/python3.10/site-packages/rastervision/pipeline/__init__.py:40
     38 rv_config_ = RVConfig()
     39 registry_ = Registry()
---> 40 registry_.load_plugins()
     41 registry_.load_builtins()

File /opt/conda/lib/python3.10/site-packages/rastervision/pipeline/registry.py:249, in Registry.load_plugins(self, plugin_names)
    247     register_plugin = getattr(module, 'register_plugin', None)
    248     if register_plugin:
--> 249         register_plugin(self)
    251 self.update_config_info()

File /opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py:6, in register_plugin(registry)
      4 def register_plugin(registry):
      5     registry.set_plugin_version('rastervision.core', 10)
----> 6     from rastervision.core.cli import predict
      7     registry.add_plugin_command(predict)

File /opt/conda/lib/python3.10/site-packages/rastervision/core/cli.py:5
      2 import click
      4 from rastervision.pipeline.file_system import get_tmp_dir
----> 5 from rastervision.core.predictor import Predictor
      8 # [https://stackoverflow.com/questions/48391777/nargs-equivalent-for-options-in-click](https://stackoverflow.com/questions/48391777/nargs-equivalent-for-options-in-click%3C/span%3E)
      9 class OptionEatAll(click.Option):

File /opt/conda/lib/python3.10/site-packages/rastervision/core/predictor.py:9
      6 from rastervision.pipeline.config import (build_config, upgrade_config)
      7 from rastervision.pipeline.file_system.utils import (download_if_needed,
      8                                                      file_to_json, unzip)
----> 9 from rastervision.core.data.raster_source import ChannelOrderError
     10 from rastervision.core.data import (SemanticSegmentationLabelStoreConfig,
     11                                     PolygonVectorOutputConfig,
     12                                     StatsTransformerConfig)
     13 from rastervision.core.analyzer import StatsAnalyzerConfig

File /opt/conda/lib/python3.10/site-packages/rastervision/core/data/__init__.py:4
      1 # flake8: noqa
      3 from rastervision.core.data.class_config import *
----> 4 from rastervision.core.data.raster_source import *
      5 from rastervision.core.data.crs_transformer import *
      6 from rastervision.core.data.label import *

File /opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/__init__.py:2
      1 # flake8: noqa
----> 2 from rastervision.core.data.raster_source.raster_source import *
      3 from rastervision.core.data.raster_source.raster_source_config import *
      4 from rastervision.core.data.raster_source.rasterio_source import *

File /opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/raster_source.py:5
      2 from abc import ABC, abstractmethod, abstractproperty
      4 import numpy as np
----> 5 from skimage.transform import resize
      7 from rastervision.core.box import Box
      8 from rastervision.core.data.utils import parse_array_slices_Nd

File /opt/conda/lib/python3.10/site-packages/skimage/transform/__init__.py:4
      1 from .hough_transform import (hough_line, hough_line_peaks,
      2                               probabilistic_hough_line, hough_circle,
      3                               hough_circle_peaks, hough_ellipse)
----> 4 from .radon_transform import (radon, iradon, iradon_sart,
      5                               order_angles_golden_ratio)
      6 from .finite_radon_transform import frt2, ifrt2
      7 from .integral import integral_image, integrate

File /opt/conda/lib/python3.10/site-packages/skimage/transform/radon_transform.py:3
      1 import numpy as np
----> 3 from scipy.interpolate import interp1d
      4 from scipy.constants import golden_ratio
      5 from scipy.fft import fft, ifft, fftfreq, fftshift

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/__init__.py:167
      1 """
      2 ========================================
      3 Interpolation (:mod:`scipy.interpolate`)
   (...)
    165 (should not be used in new code).
    166 """
--> 167 from ._interpolate import *
    168 from ._fitpack_py import *
    170 # New interface to fitpack library:

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/_interpolate.py:12
      9 from scipy.special import comb
     10 from scipy._lib._util import prod
---> 12 from . import _fitpack_py
     13 from . import dfitpack
     14 from . import _fitpack

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/_fitpack_py.py:10
      8 from ._fitpack_impl import bisplrep, bisplev, dblint
      9 from . import _fitpack_impl as _impl
---> 10 from ._bsplines import BSpline
     13 def splprep(x, w=None, u=None, ub=None, ue=None, k=3, task=0, s=None, t=None,
     14             full_output=0, nest=None, per=0, quiet=1):
     15     """
     16     Find the B-spline representation of an N-D curve.
     17 
   (...)
    151 
    152     """

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/_bsplines.py:8
      4 from numpy.core.multiarray import normalize_axis_index
      5 from scipy.linalg import (get_lapack_funcs, LinAlgError,
      6                           cholesky_banded, cho_solve_banded,
      7                           solve, solve_banded)
----> 8 from scipy.optimize import minimize_scalar
      9 from . import _bspl
     10 from . import _fitpack_impl

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/__init__.py:405
      1 """
      2 =====================================================
      3 Optimization and root finding (:mod:`scipy.optimize`)
   (...)
    401 
    402 """
    404 from ._optimize import *
--> 405 from ._minimize import *
    406 from ._root import *
    407 from ._root_scalar import *

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_minimize.py:26
     24 from ._trustregion_krylov import _minimize_trust_krylov
     25 from ._trustregion_exact import _minimize_trustregion_exact
---> 26 from ._trustregion_constr import _minimize_trustregion_constr
     28 # constrained minimization
     29 from ._lbfgsb_py import _minimize_lbfgsb

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/__init__.py:4
      1 """This module contains the equality constrained SQP solver."""
----> 4 from .minimize_trustregion_constr import _minimize_trustregion_constr
      6 __all__ = ['_minimize_trustregion_constr']

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py:5
      3 from scipy.sparse.linalg import LinearOperator
      4 from .._differentiable_functions import VectorFunction
----> 5 from .._constraints import (
      6     NonlinearConstraint, LinearConstraint, PreparedConstraint, strict_bounds)
      7 from .._hessian_update_strategy import BFGS
      8 from .._optimize import OptimizeResult

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_constraints.py:8
      6 from ._optimize import OptimizeWarning
      7 from warnings import warn, catch_warnings, simplefilter
----> 8 from numpy.testing import suppress_warnings
      9 from scipy.sparse import issparse
     12 def _arr_to_scalar(x):
     13     # If x is a numpy array, return x.item().  This will
     14     # fail if the array has more than one element.

File /opt/conda/lib/python3.10/site-packages/numpy/testing/__init__.py:14
     12 from ._private.utils import (_assert_valid_refcount, _gen_alignment_data)
     13 from ._private import extbuild
---> 14 from . import overrides
     16 __all__ = (
     17     _private.utils.__all__ + ['TestCase', 'overrides']
     18 )
     20 from numpy._pytesttester import PytestTester

File /opt/conda/lib/python3.10/site-packages/numpy/testing/overrides.py:6
      1 """Tools for testing implementations of __array_function__ and ufunc overrides
      2 
      3 
      4 """
----> 6 from numpy.core.overrides import ARRAY_FUNCTIONS as _array_functions
      7 from numpy import ufunc as _ufunc
      8 import numpy.core.umath as _umath

ImportError: cannot import name 'ARRAY_FUNCTIONS' from 'numpy.core.overrides' (/opt/conda/lib/python3.10/site-packages/numpy/core/overrides.py)

from raster-vision.

AdeelH avatar AdeelH commented on May 24, 2024

Do you have the following versions of these packages?

numpy==1.25.0
scipy==1.10.1
scikit-image==0.21.0
scikit-learn==1.2.2

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

I tried:

!pip install numpy==1.25.0 scipy==1.10.1 scikit-image==0.21.0 scikit-learn==1.2.2 rastervision==0.21 rasterio

Then I get:

Collecting numpy==1.25.0
  Using cached numpy-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB)
Requirement already satisfied: scipy==1.10.1 in /opt/conda/lib/python3.10/site-packages (1.10.1)
Collecting scikit-image==0.21.0
  Using cached scikit_image-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB)
Requirement already satisfied: scikit-learn==1.2.2 in /opt/conda/lib/python3.10/site-packages (1.2.2)
Requirement already satisfied: rastervision==0.21 in /opt/conda/lib/python3.10/site-packages (0.21)
Requirement already satisfied: rasterio in /opt/conda/lib/python3.10/site-packages (1.3.7)
Requirement already satisfied: networkx>=2.8 in /opt/conda/lib/python3.10/site-packages (from scikit-image==0.21.0) (3.1)
Requirement already satisfied: pillow>=9.0.1 in /opt/conda/lib/python3.10/site-packages (from scikit-image==0.21.0) (9.3.0)
Collecting imageio>=2.27 (from scikit-image==0.21.0)
  Using cached imageio-2.31.3-py3-none-any.whl (313 kB)
Requirement already satisfied: tifffile>=2022.8.12 in /opt/conda/lib/python3.10/site-packages (from scikit-image==0.21.0) (2023.4.12)
Requirement already satisfied: PyWavelets>=1.1.1 in /opt/conda/lib/python3.10/site-packages (from scikit-image==0.21.0) (1.4.1)
Requirement already satisfied: packaging>=21 in /opt/conda/lib/python3.10/site-packages (from scikit-image==0.21.0) (21.3)
Requirement already satisfied: lazy_loader>=0.2 in /opt/conda/lib/python3.10/site-packages (from scikit-image==0.21.0) (0.2)
Requirement already satisfied: joblib>=1.1.1 in /opt/conda/lib/python3.10/site-packages (from scikit-learn==1.2.2) (1.2.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/conda/lib/python3.10/site-packages (from scikit-learn==1.2.2) (3.1.0)
Requirement already satisfied: rastervision-pipeline==0.21 in /opt/conda/lib/python3.10/site-packages (from rastervision==0.21) (0.21)
Requirement already satisfied: rastervision-aws-s3==0.21 in /opt/conda/lib/python3.10/site-packages (from rastervision==0.21) (0.21)
Requirement already satisfied: rastervision-aws-batch==0.21 in /opt/conda/lib/python3.10/site-packages (from rastervision==0.21) (0.21)
Requirement already satisfied: rastervision-core==0.21 in /opt/conda/lib/python3.10/site-packages (from rastervision==0.21) (0.21)
Requirement already satisfied: rastervision-pytorch-learner==0.21 in /opt/conda/lib/python3.10/site-packages (from rastervision==0.21) (0.21)
Requirement already satisfied: rastervision-pytorch-backend==0.21 in /opt/conda/lib/python3.10/site-packages (from rastervision==0.21) (0.21)
Requirement already satisfied: boto3==1.28.8 in /opt/conda/lib/python3.10/site-packages (from rastervision-aws-batch==0.21->rastervision==0.21) (1.28.8)
Requirement already satisfied: awscli==1.29.8 in /opt/conda/lib/python3.10/site-packages (from rastervision-aws-batch==0.21->rastervision==0.21) (1.29.8)
Requirement already satisfied: tqdm==4.65.0 in /opt/conda/lib/python3.10/site-packages (from rastervision-aws-s3==0.21->rastervision==0.21) (4.65.0)
Requirement already satisfied: shapely==2.0.1 in /opt/conda/lib/python3.10/site-packages (from rastervision-core==0.21->rastervision==0.21) (2.0.1)
Requirement already satisfied: geopandas==0.13.2 in /opt/conda/lib/python3.10/site-packages (from rastervision-core==0.21->rastervision==0.21) (0.13.2)
Requirement already satisfied: pyproj==3.4.0 in /opt/conda/lib/python3.10/site-packages (from rastervision-core==0.21->rastervision==0.21) (3.4.0)
INFO: pip is looking at multiple versions of rastervision-core to determine which version is compatible with other requirements. This could take a while.
Collecting rastervision==0.21
  Using cached rastervision-0.21-py3-none-any.whl (4.1 kB)
ERROR: Cannot install rastervision-core==0.21 and scikit-image==0.21.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    scikit-image 0.21.0 depends on imageio>=2.27
    rastervision-core 0.21 depends on imageio==2.22.1

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

Changing scikit-image to 0.20.0:

!pip install numpy==1.25.0 scipy==1.10.1 scikit-image==0.20.0 scikit-learn==1.2.2 rastervision==0.21 rasterio

The error keeps the same.

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

I've tried:

!pip install rastervision
!pip install numpy==1.25.0 scipy==1.10.1 scikit-image==0.21.0 scikit-learn==1.2.2 rasterio

Followed by:

import numpy as np
def dummy_npwarn_decorator_factory():
    def npwarn_decorator(x):
        return x
    return npwarn_decorator
np._no_nep50_warning = getattr(np, '_no_nep50_warning', dummy_npwarn_decorator_factory)

The error keeps:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[29], line 3
      1 import os
      2 from subprocess import check_output
----> 3 from rastervision.core.data import ClassConfig
      4 import torch
      5 import multiprocessing as mp

File /opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py:10
      6     from rastervision.core.cli import predict
      7     registry.add_plugin_command(predict)
---> 10 import rastervision.pipeline
     11 from rastervision.core.box import *
     12 from rastervision.core.data_sample import *

File /opt/conda/lib/python3.10/site-packages/rastervision/pipeline/__init__.py:40
     38 rv_config_ = RVConfig()
     39 registry_ = Registry()
---> 40 registry_.load_plugins()
     41 registry_.load_builtins()

File /opt/conda/lib/python3.10/site-packages/rastervision/pipeline/registry.py:249, in Registry.load_plugins(self, plugin_names)
    247     register_plugin = getattr(module, 'register_plugin', None)
    248     if register_plugin:
--> 249         register_plugin(self)
    251 self.update_config_info()

File /opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py:6, in register_plugin(registry)
      4 def register_plugin(registry):
      5     registry.set_plugin_version('rastervision.core', 10)
----> 6     from rastervision.core.cli import predict
      7     registry.add_plugin_command(predict)

File /opt/conda/lib/python3.10/site-packages/rastervision/core/cli.py:5
      2 import click
      4 from rastervision.pipeline.file_system import get_tmp_dir
----> 5 from rastervision.core.predictor import Predictor
      8 # [https://stackoverflow.com/questions/48391777/nargs-equivalent-for-options-in-click](https://stackoverflow.com/questions/48391777/nargs-equivalent-for-options-in-click%3C/span%3E)
      9 class OptionEatAll(click.Option):

File /opt/conda/lib/python3.10/site-packages/rastervision/core/predictor.py:9
      6 from rastervision.pipeline.config import (build_config, upgrade_config)
      7 from rastervision.pipeline.file_system.utils import (download_if_needed,
      8                                                      file_to_json, unzip)
----> 9 from rastervision.core.data.raster_source import ChannelOrderError
     10 from rastervision.core.data import (SemanticSegmentationLabelStoreConfig,
     11                                     PolygonVectorOutputConfig,
     12                                     StatsTransformerConfig)
     13 from rastervision.core.analyzer import StatsAnalyzerConfig

File /opt/conda/lib/python3.10/site-packages/rastervision/core/data/__init__.py:4
      1 # flake8: noqa
      3 from rastervision.core.data.class_config import *
----> 4 from rastervision.core.data.raster_source import *
      5 from rastervision.core.data.crs_transformer import *
      6 from rastervision.core.data.label import *

File /opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/__init__.py:2
      1 # flake8: noqa
----> 2 from rastervision.core.data.raster_source.raster_source import *
      3 from rastervision.core.data.raster_source.raster_source_config import *
      4 from rastervision.core.data.raster_source.rasterio_source import *

File /opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/raster_source.py:5
      2 from abc import ABC, abstractmethod, abstractproperty
      4 import numpy as np
----> 5 from skimage.transform import resize
      7 from rastervision.core.box import Box
      8 from rastervision.core.data.utils import parse_array_slices_Nd

File /opt/conda/lib/python3.10/site-packages/skimage/transform/__init__.py:4
      1 from .hough_transform import (hough_line, hough_line_peaks,
      2                               probabilistic_hough_line, hough_circle,
      3                               hough_circle_peaks, hough_ellipse)
----> 4 from .radon_transform import (radon, iradon, iradon_sart,
      5                               order_angles_golden_ratio)
      6 from .finite_radon_transform import frt2, ifrt2
      7 from .integral import integral_image, integrate

File /opt/conda/lib/python3.10/site-packages/skimage/transform/radon_transform.py:3
      1 import numpy as np
----> 3 from scipy.interpolate import interp1d
      4 from scipy.constants import golden_ratio
      5 from scipy.fft import fft, ifft, fftfreq, fftshift

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/__init__.py:167
      1 """
      2 ========================================
      3 Interpolation (:mod:`scipy.interpolate`)
   (...)
    165 (should not be used in new code).
    166 """
--> 167 from ._interpolate import *
    168 from ._fitpack_py import *
    170 # New interface to fitpack library:

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/_interpolate.py:12
      9 from scipy.special import comb
     10 from scipy._lib._util import prod
---> 12 from . import _fitpack_py
     13 from . import dfitpack
     14 from . import _fitpack

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/_fitpack_py.py:10
      8 from ._fitpack_impl import bisplrep, bisplev, dblint
      9 from . import _fitpack_impl as _impl
---> 10 from ._bsplines import BSpline
     13 def splprep(x, w=None, u=None, ub=None, ue=None, k=3, task=0, s=None, t=None,
     14             full_output=0, nest=None, per=0, quiet=1):
     15     """
     16     Find the B-spline representation of an N-D curve.
     17 
   (...)
    151 
    152     """

File /opt/conda/lib/python3.10/site-packages/scipy/interpolate/_bsplines.py:8
      4 from numpy.core.multiarray import normalize_axis_index
      5 from scipy.linalg import (get_lapack_funcs, LinAlgError,
      6                           cholesky_banded, cho_solve_banded,
      7                           solve, solve_banded)
----> 8 from scipy.optimize import minimize_scalar
      9 from . import _bspl
     10 from . import _fitpack_impl

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/__init__.py:405
      1 """
      2 =====================================================
      3 Optimization and root finding (:mod:`scipy.optimize`)
   (...)
    401 
    402 """
    404 from ._optimize import *
--> 405 from ._minimize import *
    406 from ._root import *
    407 from ._root_scalar import *

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_minimize.py:26
     24 from ._trustregion_krylov import _minimize_trust_krylov
     25 from ._trustregion_exact import _minimize_trustregion_exact
---> 26 from ._trustregion_constr import _minimize_trustregion_constr
     28 # constrained minimization
     29 from ._lbfgsb_py import _minimize_lbfgsb

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/__init__.py:4
      1 """This module contains the equality constrained SQP solver."""
----> 4 from .minimize_trustregion_constr import _minimize_trustregion_constr
      6 __all__ = ['_minimize_trustregion_constr']

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py:5
      3 from scipy.sparse.linalg import LinearOperator
      4 from .._differentiable_functions import VectorFunction
----> 5 from .._constraints import (
      6     NonlinearConstraint, LinearConstraint, PreparedConstraint, strict_bounds)
      7 from .._hessian_update_strategy import BFGS
      8 from .._optimize import OptimizeResult

File /opt/conda/lib/python3.10/site-packages/scipy/optimize/_constraints.py:8
      6 from ._optimize import OptimizeWarning
      7 from warnings import warn, catch_warnings, simplefilter
----> 8 from numpy.testing import suppress_warnings
      9 from scipy.sparse import issparse
     12 def _arr_to_scalar(x):
     13     # If x is a numpy array, return x.item().  This will
     14     # fail if the array has more than one element.

File /opt/conda/lib/python3.10/site-packages/numpy/testing/__init__.py:14
     12 from ._private.utils import (_assert_valid_refcount, _gen_alignment_data)
     13 from ._private import extbuild
---> 14 from . import overrides
     16 __all__ = (
     17     _private.utils.__all__ + ['TestCase', 'overrides']
     18 )
     20 from numpy._pytesttester import PytestTester

File /opt/conda/lib/python3.10/site-packages/numpy/testing/overrides.py:6
      1 """Tools for testing implementations of __array_function__ and ufunc overrides
      2 
      3 
      4 """
----> 6 from numpy.core.overrides import ARRAY_FUNCTIONS as _array_functions
      7 from numpy import ufunc as _ufunc
      8 import numpy.core.umath as _umath

ImportError: cannot import name 'ARRAY_FUNCTIONS' from 'numpy.core.overrides' (/opt/conda/lib/python3.10/site-packages/numpy/core/overrides.py)

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

This works!!!!

Thanks!

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

When trying to commit, the numpy error pops up back. When running the draft, it works. I'm lost here.

This is my notebook.

The installation is like this:

!pip install -q --upgrade rastervision==0.21
!pip install -q --upgrade scikit-image==0.21.0

The imports are like this:

import os
from subprocess import check_output
from rastervision.core.data import ClassConfig
import torch
import multiprocessing as mp
import os
import albumentations as A
from rastervision.pytorch_learner import (
    SemanticSegmentationRandomWindowGeoDataset, #used to train
    SemanticSegmentationSlidingWindowGeoDataset, #used to validate and predict
    SemanticSegmentationVisualizer)
from collections import namedtuple
from torch.utils.data import ConcatDataset
from rastervision.pytorch_learner import SemanticSegmentationGeoDataConfig
from rastervision.pytorch_learner import SemanticSegmentationLearner
from rastervision.pytorch_learner import SolverConfig
from rastervision.pytorch_learner import Backbone, SemanticSegmentationModelConfig
from rastervision.pytorch_learner import SemanticSegmentationLearnerConfig
from rastervision.core.data import (
    SemanticSegmentationLabels,
    PolygonVectorOutputConfig
)
import timeit
import rasterio
from rasterio.plot import show

The import messages:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
cudf 23.6.0 requires cupy-cuda11x>=12.0.0, which is not installed.
cuml 23.6.0 requires cupy-cuda11x>=12.0.0, which is not installed.
dask-cudf 23.6.0 requires cupy-cuda11x>=12.0.0, which is not installed.
aiobotocore 2.5.0 requires botocore<1.29.77,>=1.29.76, but you have botocore 1.31.8 which is incompatible.
apache-beam 2.46.0 requires dill<0.3.2,>=0.3.1.1, but you have dill 0.3.6 which is incompatible.
apache-beam 2.46.0 requires numpy<1.25.0,>=1.14.3, but you have numpy 1.25.0 which is incompatible.
apache-beam 2.46.0 requires pyarrow<10.0.0,>=3.0.0, but you have pyarrow 11.0.0 which is incompatible.
bayesian-optimization 1.4.3 requires colorama>=0.4.6, but you have colorama 0.4.4 which is incompatible.
beatrix-jupyterlab 2023.58.190319 requires jupyter-server~=1.16, but you have jupyter-server 2.5.0 which is incompatible.
cudf 23.6.0 requires protobuf<4.22,>=4.21.6, but you have protobuf 3.20.3 which is incompatible.
cuml 23.6.0 requires dask==2023.3.2, but you have dask 2023.6.0 which is incompatible.
dask-cuda 23.6.0 requires dask==2023.3.2, but you have dask 2023.6.0 which is incompatible.
dask-cudf 23.6.0 requires dask==2023.3.2, but you have dask 2023.6.0 which is incompatible.
google-cloud-datastore 2.15.2 requires google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.0, but you have google-api-core 1.33.2 which is incompatible.
google-cloud-spanner 3.33.0 requires google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.0, but you have google-api-core 1.33.2 which is incompatible.
kfp 1.8.21 requires google-api-python-client<2,>=1.7.8, but you have google-api-python-client 2.88.0 which is incompatible.
numba 0.57.0 requires numpy<1.25,>=1.21, but you have numpy 1.25.0 which is incompatible.
pymc3 3.11.5 requires numpy<1.22.2,>=1.15.0, but you have numpy 1.25.0 which is incompatible.
pymc3 3.11.5 requires scipy<1.8.0,>=1.7.3, but you have scipy 1.10.1 which is incompatible.
raft-dask 23.6.1 requires dask==2023.3.2, but you have dask 2023.6.0 which is incompatible.
tensorflow 2.12.0 requires numpy<1.24,>=1.22, but you have numpy 1.25.0 which is incompatible.
tensorflow 2.12.0 requires tensorboard<2.13,>=2.12, but you have tensorboard 2.13.0 which is incompatible.
torchdata 0.6.0 requires torch==2.0.0, but you have torch 2.0.1 which is incompatible.
ydata-profiling 4.1.2 requires matplotlib<3.7,>=3.2, but you have matplotlib 3.7.1 which is incompatible.
ydata-profiling 4.1.2 requires numpy<1.24,>=1.16.0, but you have numpy 1.25.0 which is incompatible.
ydata-profiling 4.1.2 requires scipy<1.10,>=1.4.1, but you have scipy 1.10.1 which is incompatible.
ydata-profiling 4.1.2 requires tqdm<4.65,>=4.48.2, but you have tqdm 4.65.0 which is incompatible.
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
WARNING: Error parsing requirements for numpy: [Errno 2] No such file or directory: '/opt/conda/lib/python3.10/site-packages/numpy-1.24.3.dist-info/METADATA'
WARNING: Error parsing requirements for typing-extensions: [Errno 2] No such file or directory: '/opt/conda/lib/python3.10/site-packages/typing_extensions-4.5.0.dist-info/METADATA'
    WARNING: No metadata found in /opt/conda/lib/python3.10/site-packages
ERROR: Cannot uninstall typing-extensions 4.5.0, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps typing-extensions==4.5.0'.
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: '/opt/conda/lib/python3.10/site-packages/numpy-1.24.3.dist-info/METADATA'

The error:

Unexpected exception formatting exception. Falling back to standard exception
Traceback (most recent call last):
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3508, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "/tmp/ipykernel_22/74018066.py", line 3, in <module>
    from rastervision.core.data import ClassConfig
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py", line 10, in <module>
    import rastervision.pipeline
  File "/opt/conda/lib/python3.10/site-packages/rastervision/pipeline/__init__.py", line 40, in <module>
    registry_.load_plugins()
  File "/opt/conda/lib/python3.10/site-packages/rastervision/pipeline/registry.py", line 249, in load_plugins
    register_plugin(self)
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py", line 6, in register_plugin
    from rastervision.core.cli import predict
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/cli.py", line 5, in <module>
    from rastervision.core.predictor import Predictor
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/predictor.py", line 9, in <module>
    from rastervision.core.data.raster_source import ChannelOrderError
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/data/__init__.py", line 4, in <module>
    from rastervision.core.data.raster_source import *
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/__init__.py", line 2, in <module>
    from rastervision.core.data.raster_source.raster_source import *
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/raster_source.py", line 5, in <module>
    from skimage.transform import resize
  File "/opt/conda/lib/python3.10/site-packages/skimage/transform/__init__.py", line 4, in <module>
    from .radon_transform import (radon, iradon, iradon_sart,
  File "/opt/conda/lib/python3.10/site-packages/skimage/transform/radon_transform.py", line 3, in <module>
    from scipy.interpolate import interp1d
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/__init__.py", line 167, in <module>
    from ._interpolate import *
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/_interpolate.py", line 12, in <module>
    from . import _fitpack_py
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/_fitpack_py.py", line 10, in <module>
    from ._bsplines import BSpline
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/_bsplines.py", line 8, in <module>
    from scipy.optimize import minimize_scalar
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/__init__.py", line 405, in <module>
    from ._minimize import *
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_minimize.py", line 26, in <module>
    from ._trustregion_constr import _minimize_trustregion_constr
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/__init__.py", line 4, in <module>
    from .minimize_trustregion_constr import _minimize_trustregion_constr
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py", line 5, in <module>
    from .._constraints import (
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_constraints.py", line 8, in <module>
    from numpy.testing import suppress_warnings
  File "/opt/conda/lib/python3.10/site-packages/numpy/testing/__init__.py", line 11, in <module>
    from ._private.utils import *
  File "/opt/conda/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 417, in <module>
    @np._no_nep50_warning()
  File "/opt/conda/lib/python3.10/site-packages/numpy/__init__.py", line 311, in __getattr__
AttributeError: module 'numpy' has no attribute '_no_nep50_warning'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 2105, in showtraceback
    stb = self.InteractiveTB.structured_traceback(
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1396, in structured_traceback
    return FormattedTB.structured_traceback(
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1287, in structured_traceback
    return VerboseTB.structured_traceback(
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1140, in structured_traceback
    formatted_exception = self.format_exception_as_a_whole(etype, evalue, etb, number_of_lines_of_context,
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1055, in format_exception_as_a_whole
    frames.append(self.format_record(record))
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 955, in format_record
    frame_info.lines, Colors, self.has_colors, lvals
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 778, in lines
    return self._sd.lines
  File "/opt/conda/lib/python3.10/site-packages/stack_data/utils.py", line 144, in cached_property_wrapper
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/core.py", line 734, in lines
    pieces = self.included_pieces
  File "/opt/conda/lib/python3.10/site-packages/stack_data/utils.py", line 144, in cached_property_wrapper
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/core.py", line 681, in included_pieces
    pos = scope_pieces.index(self.executing_piece)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/utils.py", line 144, in cached_property_wrapper
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/core.py", line 660, in executing_piece
    return only(
  File "/opt/conda/lib/python3.10/site-packages/executing/executing.py", line 190, in only
    raise NotOneValueFound('Expected one value, found 0')
executing.executing.NotOneValueFound: Expected one value, found 0

from raster-vision.

AdeelH avatar AdeelH commented on May 24, 2024

Probably because, when committing, Kaggle runs the whole notebook again, but does not restart the kernel after the pip installs.

Maybe try something like: https://stackoverflow.com/questions/37751120/restart-ipython-kernel-with-a-command-from-a-cell

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

I've tried:

import os
os._exit(00)

And:

import IPython

IPython.Application.instance().kernel.do_shutdown(True) 

Both before and after the pip installs to no avail....

What other option do I have?

from raster-vision.

AdeelH avatar AdeelH commented on May 24, 2024

I don't know, TBH. In any case, this is now more of a Kaggle/notebook issue rather than a Raster Vision issue.

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

Could poetry be a solution for this problem?

from raster-vision.

AdeelH avatar AdeelH commented on May 24, 2024

Can you try again with rastervision==0.21.2 that was just released? I believe it should work now without needing extra pip installs and reboots.

from raster-vision.

lcoandrade avatar lcoandrade commented on May 24, 2024

I've just tried. This is the notebook link.

Runing:

!pip install -q rastervision==0.21.2

Gives me:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
cudf 23.8.0 requires cupy-cuda11x>=12.0.0, which is not installed.
cuml 23.8.0 requires cupy-cuda11x>=12.0.0, which is not installed.
dask-cudf 23.8.0 requires cupy-cuda11x>=12.0.0, which is not installed.
aiobotocore 2.5.4 requires botocore<1.31.18,>=1.31.17, but you have botocore 1.31.8 which is incompatible.
apache-beam 2.46.0 requires dill<0.3.2,>=0.3.1.1, but you have dill 0.3.7 which is incompatible.
apache-beam 2.46.0 requires numpy<1.25.0,>=1.14.3, but you have numpy 1.25.0 which is incompatible.
apache-beam 2.46.0 requires pyarrow<10.0.0,>=3.0.0, but you have pyarrow 11.0.0 which is incompatible.
bayesian-optimization 1.4.3 requires colorama>=0.4.6, but you have colorama 0.4.4 which is incompatible.
beatrix-jupyterlab 2023.621.222118 requires jupyter-server~=1.16, but you have jupyter-server 2.6.0 which is incompatible.
cudf 23.8.0 requires pandas<1.6.0dev0,>=1.3, but you have pandas 2.0.2 which is incompatible.
cudf 23.8.0 requires protobuf<5,>=4.21, but you have protobuf 3.20.3 which is incompatible.
cuml 23.8.0 requires dask==2023.7.1, but you have dask 2023.9.0 which is incompatible.
dask-cuda 23.8.0 requires dask==2023.7.1, but you have dask 2023.9.0 which is incompatible.
dask-cuda 23.8.0 requires pandas<1.6.0dev0,>=1.3, but you have pandas 2.0.2 which is incompatible.
dask-cudf 23.8.0 requires dask==2023.7.1, but you have dask 2023.9.0 which is incompatible.
dask-cudf 23.8.0 requires pandas<1.6.0dev0,>=1.3, but you have pandas 2.0.2 which is incompatible.
distributed 2023.7.1 requires dask==2023.7.1, but you have dask 2023.9.0 which is incompatible.
fitter 1.6.0 requires click<9.0.0,>=8.1.6, but you have click 8.1.3 which is incompatible.
fitter 1.6.0 requires matplotlib>=3.7.2, but you have matplotlib 3.7.1 which is incompatible.
fitter 1.6.0 requires pandas<3.0.0,>=2.0.3, but you have pandas 2.0.2 which is incompatible.
fitter 1.6.0 requires tqdm<5.0.0,>=4.65.1, but you have tqdm 4.65.0 which is incompatible.
kfp 2.0.1 requires google-cloud-storage<3,>=2.2.1, but you have google-cloud-storage 1.44.0 which is incompatible.
numba 0.57.1 requires numpy<1.25,>=1.21, but you have numpy 1.25.0 which is incompatible.
pymc3 3.11.5 requires numpy<1.22.2,>=1.15.0, but you have numpy 1.25.0 which is incompatible.
pymc3 3.11.5 requires scipy<1.8.0,>=1.7.3, but you have scipy 1.10.1 which is incompatible.
raft-dask 23.8.0 requires dask==2023.7.1, but you have dask 2023.9.0 which is incompatible.
tensorflow 2.12.0 requires numpy<1.24,>=1.22, but you have numpy 1.25.0 which is incompatible.
tensorflow 2.12.0 requires tensorboard<2.13,>=2.12, but you have tensorboard 2.13.0 which is incompatible.
torchdata 0.6.0 requires torch==2.0.0, but you have torch 2.0.1 which is incompatible.
woodwork 0.26.0 requires numpy<1.25.0,>=1.22.0, but you have numpy 1.25.0 which is incompatible.
ydata-profiling 4.3.1 requires numpy<1.24,>=1.16.0, but you have numpy 1.25.0 which is incompatible.

Tried do import from rastervision.core.data import ClassConfig, gives me:

<frozen importlib._bootstrap>:241: RuntimeWarning: scipy._lib.messagestream.MessageStream size changed, may indicate binary incompatibility. Expected 56 from C header, got 64 from PyObject
Unexpected exception formatting exception. Falling back to standard exception
Traceback (most recent call last):
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3508, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "/tmp/ipykernel_24/162013534.py", line 2, in <module>
    from rastervision.core.data import ClassConfig
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py", line 10, in <module>
    import rastervision.pipeline
  File "/opt/conda/lib/python3.10/site-packages/rastervision/pipeline/__init__.py", line 40, in <module>
    registry_.load_plugins()
  File "/opt/conda/lib/python3.10/site-packages/rastervision/pipeline/registry.py", line 249, in load_plugins
    register_plugin(self)
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/__init__.py", line 6, in register_plugin
    from rastervision.core.cli import predict
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/cli.py", line 5, in <module>
    from rastervision.core.predictor import Predictor
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/predictor.py", line 9, in <module>
    from rastervision.core.data.raster_source import ChannelOrderError
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/data/__init__.py", line 4, in <module>
    from rastervision.core.data.raster_source import *
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/__init__.py", line 2, in <module>
    from rastervision.core.data.raster_source.raster_source import *
  File "/opt/conda/lib/python3.10/site-packages/rastervision/core/data/raster_source/raster_source.py", line 5, in <module>
    from skimage.transform import resize
  File "/opt/conda/lib/python3.10/site-packages/skimage/transform/__init__.py", line 38, in <module>
    from .radon_transform import (radon, iradon, iradon_sart,
  File "/opt/conda/lib/python3.10/site-packages/skimage/transform/radon_transform.py", line 3, in <module>
    from scipy.interpolate import interp1d
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/__init__.py", line 167, in <module>
    from ._interpolate import *
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/_interpolate.py", line 12, in <module>
    from . import _fitpack_py
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/_fitpack_py.py", line 10, in <module>
    from ._bsplines import BSpline
  File "/opt/conda/lib/python3.10/site-packages/scipy/interpolate/_bsplines.py", line 8, in <module>
    from scipy.optimize import minimize_scalar
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/__init__.py", line 405, in <module>
    from ._minimize import *
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_minimize.py", line 26, in <module>
    from ._trustregion_constr import _minimize_trustregion_constr
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/__init__.py", line 4, in <module>
    from .minimize_trustregion_constr import _minimize_trustregion_constr
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py", line 5, in <module>
    from .._constraints import (
  File "/opt/conda/lib/python3.10/site-packages/scipy/optimize/_constraints.py", line 8, in <module>
    from numpy.testing import suppress_warnings
  File "/opt/conda/lib/python3.10/site-packages/numpy/testing/__init__.py", line 11, in <module>
    from ._private.utils import *
  File "/opt/conda/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 417, in <module>
    @np._no_nep50_warning()
  File "/opt/conda/lib/python3.10/site-packages/numpy/__init__.py", line 311, in __getattr__
AttributeError: module 'numpy' has no attribute '_no_nep50_warning'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 2105, in showtraceback
    stb = self.InteractiveTB.structured_traceback(
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1428, in structured_traceback
    return FormattedTB.structured_traceback(
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1319, in structured_traceback
    return VerboseTB.structured_traceback(
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1172, in structured_traceback
    formatted_exception = self.format_exception_as_a_whole(etype, evalue, etb, number_of_lines_of_context,
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 1087, in format_exception_as_a_whole
    frames.append(self.format_record(record))
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 969, in format_record
    frame_info.lines, Colors, self.has_colors, lvals
  File "/opt/conda/lib/python3.10/site-packages/IPython/core/ultratb.py", line 792, in lines
    return self._sd.lines
  File "/opt/conda/lib/python3.10/site-packages/stack_data/utils.py", line 144, in cached_property_wrapper
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/core.py", line 734, in lines
    pieces = self.included_pieces
  File "/opt/conda/lib/python3.10/site-packages/stack_data/utils.py", line 144, in cached_property_wrapper
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/core.py", line 681, in included_pieces
    pos = scope_pieces.index(self.executing_piece)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/utils.py", line 144, in cached_property_wrapper
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/opt/conda/lib/python3.10/site-packages/stack_data/core.py", line 660, in executing_piece
    return only(
  File "/opt/conda/lib/python3.10/site-packages/executing/executing.py", line 190, in only
    raise NotOneValueFound('Expected one value, found 0')
executing.executing.NotOneValueFound: Expected one value, found 0

from raster-vision.

AdeelH avatar AdeelH commented on May 24, 2024

Looks like it still requires a restart. I would recommend getting in touch with Kaggle about how to work around this.

from raster-vision.

AdeelH avatar AdeelH commented on May 24, 2024

Closing this since it seems like more of a Kaggle notebook problem.

from raster-vision.

Related Issues (20)

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.