scaelles / dextr-pytorch Goto Github PK
View Code? Open in Web Editor NEWDeep Extreme Cut http://www.vision.ee.ethz.ch/~cvlsegmentation/dextr
License: GNU General Public License v3.0
Deep Extreme Cut http://www.vision.ee.ethz.ch/~cvlsegmentation/dextr
License: GNU General Public License v3.0
Hi,
I tried to run "train_pascal.py" but failed to do so. I found something confusing. In your code,
if resume_epoch == 0:
print("Initializing from pretrained Deeplab-v2 model")
else:
...
It seems there is nothing done here if we start from the beginning. I am curious how you convert the first conv layer from RGB 3 channels to 4 channels.
There is no option to adjust the predicted mask If it is not accurate.
We could allow some corrective clicks for prediction.
First of all, thank you for your fantastic work. I have a dataset with just one class and the annotations are in COCO style with full mask annotations.
Thank you again!
Hello,
I want to train this model on other datasets such as davis2017, should I convert these datasets to the coco format?
Thanks for your jobs!
I have a some question about train method
I train pascal voc dataset model with basic setting.
and evaluate model with eval_all.py.
but there are some gap in the performance.
there are some more training technic?
thanks!
Thanks for your great work!
When I reproduce your results of Dextr_pascal-sbd, I cannot get the same performance (IoU=91.5).
Firstly, I just evaluate with your provided model "dextr_pascal-sbd.pth" and I can get the IoU of 91.5. However, when I try to train the model by myself, I only get the IoU of 86.2, with a gap of 5.3. I have barely changed your codes.
Here is my setup:
Could you please give me some suggestions :)
Hi,
When I tried to reproduce the results using the provided pretrained model, I got some different results.
For dextr_pascal, you report an accuracy of 90.5. However, I got an accuracy of 90.1 at threshold 0.5.
For dextr_coco, you report an accuracy of 87.9. I got an accuracy of 90.9 at threshold 0.8.
I am just feeding forward the validation data to your pretrained model, so I think I should get the same results.
Did you encounter any similar behaviours or have any justifications for this significant difference (in case of dextr_coco)?
Thank you
Hi, thanks for your great work.
I have some confusion about the class-balance cross-entropy loss at https://github.com/scaelles/DEXTR-PyTorch/blob/master/layers/loss.py#L26 . I notice that the output_gt_zero will differ the effects of postive prediction and negative prediction, I do not know why. In my thought, the loss_val should be equal to log(sigmoid(output)) when label==1, while log(1-sigmoid(output)) when label==0. However, this does not match with your code, can you please explain it or give me some paper references.
Thank you.
Hello, thank you for the MS COCO training code and it was really helpful. Can you please also share the dataloader for the Pascal Context Background (Stuff) classes ?
Thanks.
I am currently trying to run the demo file, I have downloaded the model and followed the steps as given in the page but when I run demo.py I get this. It runs indefinitely. It doesn't seem to be proceeding beyond this.
Dilations: (2, 4)
Number of classes: 1
Number of Input Channels: 4
Initializing classifier: PSP
Initializing weights from: models/dextr_pascal-sbd.pth
Can anyone help me with this if they faced a similar issue?
Hi,
How can I trained DEXTR with multiple GPU either with same batch size (5) or bigger batch size (16 or 32)? What are changes I will do in the code to train on Multiple GPU?
best.
-Humayun
Hello,
Can you please share the dataloaders file for MS COCO ?
Thanks.
when I train PASCAL dataset on GTX 750ti, I encountered the "cuda error(2), out of memory", is this normal?
Hello,
Do you have any speed metrics ? Something like images per seconds stating image size + GPU type ?
Thanks and nice work! Looking to port this to TFJS to be used in an annotation project for semi auto segmentation.
Hi, I'm trying to export dextr_pascal-sbd.pth model in onnx but i'm getting some export errors. I tried to export a simple resnet101 backbone with the same code and i was able to export it successfully.
`import os
import sys
import torch
from collections import OrderedDict
from PIL import Image
import numpy as np
from matplotlib import pyplot as plt
from torch.nn.functional import upsample
import networks.deeplab_resnet as resnet
from mypath import Path
from dataloaders import helpers as helpers
modelName = dextr_pascal-sbd
pad = 50
thres = 0.8
gpu_id = 0
device = torch.device("cuda:"+str(gpu_id) if torch.cuda.is_available() else "cpu")
net = resnet.resnet101(1, nInputChannels=4, classifier='psp')
print("Initializing weights from: {}".format(os.path.join(Path.models_dir(), modelName + '.pth')))
state_dict_checkpoint = torch.load(os.path.join(Path.models_dir(), modelName + '.pth'),
map_location=lambda storage, loc: storage)
if 'module.' in list(state_dict_checkpoint.keys())[0]:
new_state_dict = OrderedDict()
for k, v in state_dict_checkpoint.items():
name = k[7:] # remove module.
from multi-gpu training
new_state_dict[name] = v
else:
new_state_dict = state_dict_checkpoint
net.load_state_dict(new_state_dict)
net.eval()
net.to(device)
RuntimeError Traceback (most recent call last)
in
----> 1 torch.onnx._export(net, x, 'xceptionfull.onnx', export_params=True)
~/anaconda3/envs/acko/lib/python3.6/site-packages/torch/onnx/init.py in _export(*args, **kwargs)
24 def _export(*args, **kwargs):
25 from torch.onnx import utils
---> 26 result = utils._export(*args, **kwargs)
27 return result
28
~/anaconda3/envs/acko/lib/python3.6/site-packages/torch/onnx/utils.py in _export(model, args, f, export_params, verbose, training, input_names, output_names, operator_export_type, export_type, example_outputs, propagate, opset_version, _retain_param_name, do_constant_folding, strip_doc_string, dynamic_axes, keep_initializers_as_inputs, fixed_batch_size)
392 proto, export_map = graph._export_onnx(
393 params_dict, opset_version, dynamic_axes, defer_weight_export,
--> 394 operator_export_type, strip_doc_string, val_keep_init_as_ip)
395 else:
396 proto, export_map = graph._export_onnx(
RuntimeError: ONNX export failed: Couldn't export operator aten::adaptive_avg_pool2d
As far as I understand you have converted PyTorch weights to Keras weighs. Right?
How have you done it? Have you used an intermediate ONNX format?
Could you release the training code when clicks more than 4 points, thank you so much.
Hi, I cannot reproduce the result of 81.75 mIoU reported in your paper, after training according to the parameters you provided and adjusting the threshold.
Can you provide the trained model or give me some advice on the hyper-parameters adjustments?
Hi,
I am using windows 10 and when i tried to ran train_pascal, the following error occured. Could you please tell me if there any solution for this?
Output:
runfile('C:/Users/jakaria/DEXTR-PyTorch/train_pascal.py', wdir='C:/Users/jakaria/DEXTR-PyTorch')
Reloaded modules: dataloaders.pascal, dataloaders.helpers, dataloaders.combine_dbs, networks.deeplab_resnet, layers, dataloaders.custom_transforms, layers.loss, dataloaders.sbd, dataloaders, networks, mypath
Using GPU: 0
Constructing ResNet model...
Dilations: (2, 4)
Number of classes: 1
Number of Input Channels: 4
Initializing classifier: PSP
Skipping Conv layer with size: torch.Size([512, 2048, 1, 1]) and target size: torch.Size([1, 2048, 3, 3])
Initializing from pretrained Deeplab-v2 model
Preprocessing of PASCAL VOC dataset, this will take long, but it will be done only once.
Preprocessing finished
Number of images: 1464
Number of objects: 3507
Preprocessing of PASCAL VOC dataset, this will take long, but it will be done only once.
Preprocessing finished
Number of images: 1449
Number of objects: 3427
Training Network
Traceback (most recent call last):
File "", line 1, in
runfile('C:/Users/jakaria/DEXTR-PyTorch/train_pascal.py', wdir='C:/Users/jakaria/DEXTR-PyTorch')
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/jakaria/DEXTR-PyTorch/train_pascal.py", line 139, in
for ii, sample_batched in enumerate(trainloader):
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\torch\utils\data\dataloader.py", line 417, in iter
return DataLoaderIter(self)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\torch\utils\data\dataloader.py", line 234, in init
w.start()
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\context.py", line 212, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\context.py", line 313, in _Popen
return Popen(process_obj)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\popen_spawn_win32.py", line 66, in init
reduction.dump(process_obj, to_child)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\reduction.py", line 59, in dump
ForkingPickler(file, protocol).dump(obj)
BrokenPipeError: [Errno 32] Broken pipe
runfile('C:/Users/jakaria/DEXTR-PyTorch/train_pascal.py', wdir='C:/Users/jakaria/DEXTR-PyTorch')
Reloaded modules: dataloaders.pascal, dataloaders.helpers, dataloaders.combine_dbs, networks.deeplab_resnet, layers, dataloaders.custom_transforms, layers.loss, dataloaders.sbd, dataloaders, networks, mypath
Using GPU: 0
Constructing ResNet model...
Dilations: (2, 4)
Number of classes: 1
Number of Input Channels: 4
Initializing classifier: PSP
Skipping Conv layer with size: torch.Size([512, 2048, 1, 1]) and target size: torch.Size([1, 2048, 3, 3])
Initializing from pretrained Deeplab-v2 model
Number of images: 1464
Number of objects: 3507
Number of images: 1449
Number of objects: 3427
Training Network
Traceback (most recent call last):
File "", line 1, in
runfile('C:/Users/jakaria/DEXTR-PyTorch/train_pascal.py', wdir='C:/Users/jakaria/DEXTR-PyTorch')
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/jakaria/DEXTR-PyTorch/train_pascal.py", line 139, in
for ii, sample_batched in enumerate(trainloader):
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\torch\utils\data\dataloader.py", line 417, in iter
return DataLoaderIter(self)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\torch\utils\data\dataloader.py", line 234, in init
w.start()
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\context.py", line 212, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\context.py", line 313, in _Popen
return Popen(process_obj)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\popen_spawn_win32.py", line 66, in init
reduction.dump(process_obj, to_child)
File "C:\Users\jakaria\AppData\Local\conda\conda\envs\tensorflow\lib\multiprocessing\reduction.py", line 59, in dump
ForkingPickler(file, protocol).dump(obj)
BrokenPipeError: [Errno 32] Broken pipe
Hi, thank you for nice work!
I have a question about pretraining the basenet on imagenet
your base network has 4 channel input (h x w x 4(rgb-guassian)),
but it should be 3 channels when pretraining the imagenet (imagenet data only has rgb and extreme points is not necessary to classify task)
how did you do it?
thank you for your help in advance!
Hi,
Thank you for your work!
I am using PyTorch and I've installed the required libraries in a conda environment in Python 3.6, but I haven't succeeded to reproduce the results you have shown in the GIF.
If I run the model in a Jupyter notebook the problem seems to be that the matplotlib library has problems with interactions, but when I try to launch the demo.py from the terminal with the following command :
python demo.py
the problem still remains. The image is not shown and I cannot click on the points (so the code enters a loop at line 49 : extreme_points_ori = np.array(plt.ginput(4, timeout=0)).astype(np.int)
).
The installed libraries in my environment are :
_libgcc_mutex 0.1 main
_openmp_mutex 4.5 1_gnu
anyio 2.2.0 py36h06a4308_1
argon2-cffi 20.1.0 py36h27cfd23_1
async_generator 1.10 py36h28b3542_0
attrs 21.2.0 pyhd3eb1b0_0
babel 2.9.1 pyhd3eb1b0_0
bleach 4.0.0 pyhd3eb1b0_0
brotlipy 0.7.0 py36h27cfd23_1003
bzip2 1.0.8 h7b6447c_0
ca-certificates 2021.9.30 h06a4308_1
cairo 1.16.0 hf32fb01_1
certifi 2020.12.5 py36h06a4308_0
cffi 1.14.6 py36h400218f_0
charset-normalizer 2.0.4 pyhd3eb1b0_0
cloudpickle 2.0.0 pyhd3eb1b0_0
contextvars 2.4 py_0
cryptography 3.4.7 py36hd23ed53_0
cudatoolkit 10.0.130 0
cycler 0.10.0 py36_0
cytoolz 0.11.0 py36h7b6447c_0
dask-core 1.1.4 py36_1
dataclasses 0.8 pyh4f3eec9_6
dbus 1.13.18 hb2f20db_0
decorator 5.1.0 pyhd3eb1b0_0
defusedxml 0.7.1 pyhd3eb1b0_0
entrypoints 0.3 py36_0
expat 2.4.1 h2531618_2
ffmpeg 4.0 hcdf2ecd_0
fontconfig 2.13.1 h6c09931_0
freeglut 3.0.0 hf484d3e_5
freetype 2.10.4 h5ab3b9f_0
glib 2.69.1 h5202010_0
graphite2 1.3.14 h23475e2_0
gst-plugins-base 1.14.0 h8213a91_2
gstreamer 1.14.0 h28cd5cc_2
harfbuzz 1.8.8 hffaf4a1_0
hdf5 1.10.2 hc401514_3 conda-forge
icu 58.2 he6710b0_3
idna 3.2 pyhd3eb1b0_0
imageio 2.9.0 pyhd3eb1b0_0
immutables 0.16 py36h7f8727e_0
importlib-metadata 4.8.1 py36h06a4308_0
importlib_metadata 4.8.1 hd3eb1b0_0
intel-openmp 2021.3.0 h06a4308_3350
ipykernel 5.3.4 py36h5ca1d4c_0
ipympl 0.7.0 pyhd3eb1b0_0
ipython 5.8.0 py36_1 conda-forge
ipython_genutils 0.2.0 pyhd3eb1b0_1
ipywidgets 7.6.5 pyhd3eb1b0_1
jasper 2.0.14 hd8c5072_2
jinja2 3.0.1 pyhd3eb1b0_0
joblib 1.0.1 pyhd3eb1b0_0
jpeg 9d h7f8727e_0
json5 0.9.6 pyhd3eb1b0_0
jsonschema 3.2.0 pyhd3eb1b0_2
jupyter_client 7.0.1 pyhd3eb1b0_0
jupyter_core 4.8.1 py36h06a4308_0
jupyter_server 1.4.1 py36h06a4308_0
jupyterlab 3.1.7 pyhd3eb1b0_0
jupyterlab_pygments 0.1.2 py_0
jupyterlab_server 2.8.2 pyhd3eb1b0_0
jupyterlab_widgets 1.0.0 pyhd3eb1b0_1
kiwisolver 1.3.1 py36h2531618_0
lcms2 2.12 h3be6417_0
ld_impl_linux-64 2.35.1 h7274673_9
libblas 3.9.0 11_linux64_openblas conda-forge
libcblas 3.9.0 11_linux64_openblas conda-forge
libffi 3.3 he6710b0_2
libgcc-ng 9.3.0 h5101ec6_17
libgfortran 3.0.0 1 conda-forge
libgfortran-ng 9.3.0 ha5ec8a7_17
libgfortran5 9.3.0 ha5ec8a7_17
libglu 9.0.0 hf484d3e_1
libgomp 9.3.0 h5101ec6_17
liblapack 3.9.0 11_linux64_openblas conda-forge
libopenblas 0.3.17 pthreads_h8fe5266_1 conda-forge
libopencv 3.4.2 hb342d67_1
libopus 1.3.1 h7b6447c_0
libpng 1.6.37 hbc83047_0
libsodium 1.0.18 h7b6447c_0
libstdcxx-ng 9.3.0 hd4cf53a_17
libtiff 4.2.0 h85742a9_0
libuuid 1.0.3 h7f8727e_2
libvpx 1.7.0 h439df22_0
libwebp-base 1.2.0 h27cfd23_0
libxcb 1.14 h7b6447c_0
libxml2 2.9.12 h03d6c58_0
lz4-c 1.9.3 h295c915_1
markupsafe 2.0.1 py36h27cfd23_0
matplotlib 3.3.4 py36h06a4308_0
matplotlib-base 3.3.4 py36h62a2d02_0
mistune 0.8.4 py36h7b6447c_0
mkl 2021.3.0 h06a4308_520
nbclassic 0.2.6 pyhd3eb1b0_0
nbclient 0.5.3 pyhd3eb1b0_0
nbconvert 6.0.7 py36_0
nbformat 5.1.3 pyhd3eb1b0_0
ncurses 6.2 he6710b0_1
nest-asyncio 1.5.1 pyhd3eb1b0_0
networkx 2.2 py36_1
ninja 1.10.2 hff7bd54_1
notebook 6.4.3 py36h06a4308_0
numpy 1.19.5 py36hfc0c790_2 conda-forge
olefile 0.46 py36_0
opencv 3.4.2 py36h6fd60c2_1
openssl 1.1.1l h7f8727e_0
packaging 21.0 pyhd3eb1b0_0
pandoc 2.12 h06a4308_0
pandocfilters 1.4.3 py36h06a4308_1
pcre 8.45 h295c915_0
pexpect 4.8.0 pyhd3eb1b0_3
pickleshare 0.7.5 pyhd3eb1b0_1003
pillow 8.2.0 py36he98fc37_0
pip 21.0.1 py36h06a4308_0
pixman 0.40.0 h7f8727e_1
prometheus_client 0.11.0 pyhd3eb1b0_0
prompt_toolkit 1.0.15 py_1 conda-forge
ptyprocess 0.7.0 pyhd3eb1b0_2
py-opencv 3.4.2 py36hb342d67_1
pycparser 2.20 py_2
pygments 2.10.0 pyhd3eb1b0_0
pyopenssl 20.0.1 pyhd3eb1b0_1
pyparsing 2.4.7 pyhd3eb1b0_0
pyqt 5.9.2 py36h05f1152_2
pyrsistent 0.17.3 py36h7b6447c_0
pysocks 1.7.1 py36h06a4308_0
python 3.6.13 h12debd9_1
python-dateutil 2.8.2 pyhd3eb1b0_0
python_abi 3.6 2_cp36m conda-forge
pytorch 1.2.0 py3.6_cuda10.0.130_cudnn7.6.2_0 pytorch
pytz 2021.3 pyhd3eb1b0_0
pywavelets 1.1.1 py36h7b6447c_2
pyzmq 22.2.1 py36h295c915_1
qt 5.9.7 h5867ecd_1
readline 8.1 h27cfd23_0
requests 2.26.0 pyhd3eb1b0_0
scikit-image 0.17.2 py36h284efc9_4 conda-forge
scikit-learn 0.24.2 py36ha9443f7_0
scipy 1.5.3 py36h9e8f40b_0 conda-forge
send2trash 1.8.0 pyhd3eb1b0_1
setuptools 58.0.4 py36h06a4308_0
simplegeneric 0.8.1 py36_2
sip 4.19.8 py36hf484d3e_0
six 1.16.0 pyhd3eb1b0_0
sniffio 1.2.0 py36h06a4308_1
sqlite 3.36.0 hc218d9a_0
terminado 0.9.4 py36h06a4308_0
testpath 0.5.0 pyhd3eb1b0_0
threadpoolctl 2.2.0 pyh0d69192_0
tifffile 2020.10.1 py36hdd07704_2
tk 8.6.11 h1ccaba5_0
toolz 0.11.1 pyhd3eb1b0_0
torchvision 0.4.0 py36_cu100 pytorch
tornado 6.1 py36h27cfd23_0
traitlets 4.3.3 py36h06a4308_0
typing-extensions 3.10.0.2 hd3eb1b0_0
typing_extensions 3.10.0.2 pyh06a4308_0
urllib3 1.26.7 pyhd3eb1b0_0
wcwidth 0.2.5 pyhd3eb1b0_0
webencodings 0.5.1 py36_1
wheel 0.37.0 pyhd3eb1b0_1
widgetsnbextension 3.5.1 py36_0
xz 5.2.5 h7b6447c_0
zeromq 4.3.4 h2531618_0
zipp 3.6.0 pyhd3eb1b0_0
zlib 1.2.11 h7b6447c_3
zstd 1.4.9 haebb681_0
Can you please help me?
Bests,
Matteo
Hello, thanks for your work)
It should be rot = self.rots[random.randint(0, len(self.rots)-1)]
and the same issue for scales on the next line
http://manaai.cn/aicodes_detail3.html?id=31
A group of contemptible thieves has clone ur code, replace ur license with theirs and peddling
it on their "WEBSITE".
I am on python 3
Line 159:
if inds[0].shape[0] == 0:
leads to error
IndexError: index 0 is out of bounds for axis 0 with size 0
inds[0] is a one dimensional array with 4 integers type np.Int64. So inds[0].shape[0] trows out error
Hello! I run the provided train_pascal.py (PSCAL VOC 2012 without SBD) on a Tesla V100 GPU, and it seems to take roughly half an hour to complete one epoch. But in the publication you mentioned it took you 20 hours for 100 epochs on a Titan X. Is there anything I should tune in order to achieve the same speed?
Thanks for your great work. This is not an issue/bug, I just want to make clear what you did with the hard sample. I think it will be useful for other researchers as well. In the paper, you mentioned
We split the training dataset into two equal splits. ..We first select the objects that lead to poor performance (IoU<0.8) when applying the network trained on the first split... Using the network trained further on the hard examples...
Since the increased performance is partially due to the increased amount of training data (first split + hard examples of the second split), we need to disentangle the two sources of performance gain.
Assume we have 1000
images in the first split and 50
hard examples, so we will merge them to generate 1050
images and train with initial checkpoint from the trained model. So, if the learning rate of the first split is [0.01 0.001 0.0001]
to obtained the trained model for the first split (without hard sample) and early stop at 0.001
. What should a learning rate in the second phase (first split+hard sample)? Does it start again from [0.01 0.001 0.0001]
or the last learning rate 0.001
?
Hi,
DEXTR is an amazing tool. Out of curiosity, have you tried training DEXTR with only 2 or 3 extreme points?
I am interested in using this tool to segment long and thin objects like tree trunks, springs, road lanes ...
Thanks
When I am trying to run demo.py, I am having following error
Traceback (most recent call last):
File "demo.py", line 10, in
from networks.dextr import DEXTR
File "/local/arathore/3D_processing/DEXTR-KerasTensorflow/networks/dextr.py", line 8, in
from networks import resnet
File "/local/arathore/3D_processing/DEXTR-KerasTensorflow/networks/resnet.py", line 12, in
from networks.classifiers import build_pyramid_pooling_module
File "/local/arathore/3D_processing/DEXTR-KerasTensorflow/networks/classifiers.py", line 10, in
from networks import resnet
ImportError: cannot import name resnet
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.