sermanet / overfeat Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
Missing makefile for overfeat_cuda. Any way to re-build cuda accelerated version?
I am using the Overfeat tool to extract image features. However, when I input a set of JPG images using the batch file "overfeat_batch", I got the following error, "Invalid image format (must be 'P6')". I checked the code and saw the step which converts JPG images to PPM images, but I still cannot figure out why this convertion is working well for the JPG images given in the sample folder, but not working properly for my JPG images. Is there any requirement for the image format? Thanks.
Hello,
On 64-bit Ubuntu machine, I have compiled & install OpenBLAS and LAPACK from source, then did export as such :
export BLAS_LIBRARY_PATH=/opt/OpenBLAS/lib
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BLAS_LIBRARY_PATH}"
cd src
make all, showing message as follows :
notice these 3 lines particularly :
-- Cannot find a library with BLAS API. Not using BLAS.
-- LAPACK requires BLAS
-- Cannot find a library with LAPACK API. Not using LAPACK.
make[1]: Entering directory `./OverFeat/src'
cd TH; mkdir -p build; cd build; rm -f libTH.a; cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc ..; make; cp libTH.a ../..; cp THGeneral.h ..
-- Checking for [openblas - gfortran]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Checking for [openblas - gfortran - pthread]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Cannot find a library with BLAS API. Not using BLAS.
-- Checking for [openblas - gfortran]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Checking for [openblas - gfortran - pthread]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Cannot find a library with BLAS API. Not using BLAS.
-- LAPACK requires BLAS
-- Cannot find a library with LAPACK API. Not using LAPACK.
-- C inline is supported (inline)
-- Configuring done
You have changed variables that require your cache to be deleted.
Configure will be re-run and you may have to reset some variables.
The following variables have changed:
CMAKE_C_COMPILER= gcc
CMAKE_CXX_COMPILER= g++
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Looking for mmap
-- Looking for mmap - found
-- Performing Test C_HAS_SSE1_1
-- Performing Test C_HAS_SSE1_1 - Success
-- Performing Test C_HAS_SSE2_1
-- Performing Test C_HAS_SSE2_1 - Success
-- Performing Test C_HAS_SSE3_1
-- Performing Test C_HAS_SSE3_1 - Failed
-- Performing Test C_HAS_SSE3_2
-- Performing Test C_HAS_SSE3_2 - Success
-- Performing Test C_HAS_SSE4_1_1
-- Performing Test C_HAS_SSE4_1_1 - Failed
-- Performing Test C_HAS_SSE4_1_2
-- Performing Test C_HAS_SSE4_1_2 - Success
-- Performing Test C_HAS_SSE4_2_1
-- Performing Test C_HAS_SSE4_2_1 - Failed
-- Performing Test C_HAS_SSE4_2_2
-- Performing Test C_HAS_SSE4_2_2 - Success
-- Performing Test CXX_HAS_SSE1_1
-- Performing Test CXX_HAS_SSE1_1 - Success
-- Performing Test CXX_HAS_SSE2_1
-- Performing Test CXX_HAS_SSE2_1 - Success
-- Performing Test CXX_HAS_SSE3_1
-- Performing Test CXX_HAS_SSE3_1 - Failed
-- Performing Test CXX_HAS_SSE3_2
-- Performing Test CXX_HAS_SSE3_2 - Success
-- Performing Test CXX_HAS_SSE4_1_1
-- Performing Test CXX_HAS_SSE4_1_1 - Failed
-- Performing Test CXX_HAS_SSE4_1_2
-- Performing Test CXX_HAS_SSE4_1_2 - Success
-- Performing Test CXX_HAS_SSE4_2_1
-- Performing Test CXX_HAS_SSE4_2_1 - Failed
-- Performing Test CXX_HAS_SSE4_2_2
-- Performing Test CXX_HAS_SSE4_2_2 - Success
-- Checking for [openblas - gfortran]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Checking for [openblas - gfortran - pthread]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Cannot find a library with BLAS API. Not using BLAS.
-- Checking for [openblas - gfortran]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Checking for [openblas - gfortran - pthread]
-- Library openblas: /opt/OpenBLAS/lib/libopenblas.so
-- Library gfortran: BLAS_gfortran_LIBRARY-NOTFOUND
-- Cannot find a library with BLAS API. Not using BLAS.
-- LAPACK requires BLAS
-- Cannot find a library with LAPACK API. Not using LAPACK.
-- Performing Test C_HAS_inline
-- Performing Test C_HAS_inline - Success
-- C inline is supported (inline)
-- Configuring done
-- Generating done
-- Build files have been written to: ./OverFeat/src/TH/build
seems that in the final built bin file overfeatcmd :
libopenblas.so.0 is not linked, couples of libs are missed :
The wrong version :
linux-vdso.so.1 => (0x00007ffea8dce000)
/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f722f615000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f722f2e3000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f722f0d4000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f722eebd000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f722ec9f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f722e8da000)
/lib64/ld-linux-x86-64.so.2 (0x00007f722f91c000)
The correct one should be :
linux-vdso.so.1 => (0x00007ffc0717d000)
/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8f1127f000)
libopenblas.so.0 => /opt/OpenBLAS/lib/libopenblas.so.0 (0x00007f8f104da000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8f101a8000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f8f0ff98000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8f0fd82000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8f0fb64000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8f0f79e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8f11586000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f8f0f485000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f8f0f248000)
Regards.
I get the following error when trying to make, while installing the torch api for overFeat. The installation for the python api works fine.
abaqapuri@ml14-lptp01:~/overfeat/API/torch/build$ make
Scanning dependencies of target overfeat_torch
[100%] Building CXX object CMakeFiles/overfeat_torch.dir/overfeat_torch.cpp.o
/home/ml/abaqapuri/overfeat/API/torch/overfeat_torch.cpp:6:23: fatal error: torch/luaT.h: No such file or directory
#include<torch/luaT.h>
^
compilation terminated.
make[2]: *** [CMakeFiles/overfeat_torch.dir/overfeat_torch.cpp.o] Error 1
make[1]: *** [CMakeFiles/overfeat_torch.dir/all] Error 2
make: *** [all] Error 2
Hi Guys,
I've just installed OverFeat on my computer and whenever I run the simple test of the precompiled binaries >> ./bin/macos/overfeat -n 3 samples/bee.jpg
I keep having the following error message:
sh: convert: command not found
dyld: Library not loaded: /opt/local/lib/libgcc/libgomp.1.dylib
Referenced from: [mypath]/overfeat/bin/macos/overfeatcmd
Reason: image not found
sh: line 1: 47466 Done(127) convert samples/bee.jpg ppm:-
47467 Trace/BPT trap: 5 | /[mypath]/overfeat/bin/macos/overfeatcmd /[mypath]/overfeat/data/default/net_weight_0 -1 0 19
Here are the steps I followed:
libgomp.1.dylib is on my computer but in the following folder:
/usr/local/Cellar/gcc48/4.8.2/lib/gcc/x86_64-apple-darwin13.1.0
I'm running on a MacBook Pro with OS X Mavericks and Xcode 5.02 installed.
Any idea how I could solve this issue? Please let me know if you need additional information.
Thank you very much in advance.
Mickael
I read a few days ago about multi-scale CNN (in OverFeat
method), which you can access to presentation via this link. You performed CNN on different scales of an image and then combine all output maps. You said inside of that presentation:
Classification performed at 6 scales at test time, but only 1 scale at run time .
So my question is: If we use 6 different scales of CNN architecture, then we have different convolution layers in every scale (I guess so). So how in OverFeat
You use just 1 scale in run time? if we use specific scale then how we can access to other feature extractor of different scales?, and I see in the article You combine feature maps of different scales but I can't figure out how this process performed.
Thanks
Will the code to train the neural network using torch7 ever be released? :P
in API/python/setup.py, it should be extra_link_args=['-lgomp', '-L%s'%(path.abspath('../../src/libTH.a'))]) , which has '-L%s' not '-l%s'.
How were the weights saved to disk? Were they extracted from Torch using getParameters
then saved as a torch object using torch.save
? I'm interested because I've trained my own smaller network and would like to load the weights from torch/lua training in C++.
Where can I find more details about net_fprop and net_init files, is there any reference available for this?
In webpage http://cilvr.nyu.edu/doku.php?id=software:overfeat:start, it says "The option -f corresponds to layer 18 for the small network, and 21 for the large one." However in https://github.com/sermanet/OverFeat/blob/master/src/overfeat#L54, 19 is for small, and 22 for the large. While in README.md, it says "The option -f corresponds to layer 21 for the small layer and 24 for the large one."
I am totally confused with this inconsistency. Could you please fix them?
I would like to show the webcam demo in a simple setting, when I'll just draw digits on a whiteboard and show that it recognizes them. Is there a weights.tgz
trained on digit recognition, or have you trained it only on object recognition?
Plus, I'd like to show the intermediate layer representations as recovered images where the features are visible. Is that possible?
I would like to point out that identifiers like "__OVERFEAT_MODULES_HPP__
" and "__OVERFEAT_THTENSOR_HPP__
" do not fit to the expected naming convention of the C++ language standard.
Would you like to adjust your selection for unique names?
When I run python setup.py install in Terminal
Show the following error
chenwei@Ubuntu14:~/project/OverFeat/overfeat (2)/API/python$ python setup.py install
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
running install
running build
running build_ext
building 'overfeat' extension
creating build
creating build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I../../src -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c overfeatmodule.cpp -o build/temp.linux-x86_64-2.7/overfeatmodule.o -fopenmp
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
In file included from ../../src/THTensor.hpp:5:0,
from ../../src/overfeat.hpp:4,
from overfeatmodule.cpp:3:
../../src/TH/TH.h:4:23: fatal error: THGeneral.h: 没有那个文件或目录
#include "THGeneral.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
webcam ran very slower, so I tested webcam_cuda. Here are some observations,
On a laptop with i7-3520M CPU @ 2.90GHz and GPU NVS 5400M, I observed maximum of 0.5fps.
Can I find benchmarks somewhere? Need some reference to compare the results I'm observing. How much frame rate were you able to achieve and on what hardware platform?
Hi,
First of all thanks for releasing codes for OverFeat (https://github.com/sermanet/OverFeat). But there's a problem when I try to compile it in /src folder. I think some files are missing.
g++ -c -fopenmp -O3 -fPIC -Iif [ ! -d "data/default" ]; then echo "../data/default"; else echo "data/default"; fi
overfeat.cpp -o overfeat.o
overfeat.cpp:55:21: error: net_init.hpp: No such file or directory
overfeat.cpp:109:22: error: net_fprop.hpp: No such file or directory
overfeat.cpp: In function 'void overfeat::init(const std::string&, int)':
overfeat.cpp:59: error: 'outputs' was not declared in this scope
overfeat.cpp:59: error: 'nModules' was not declared in this scope
overfeat.cpp:60: error: 'weights' was not declared in this scope
overfeat.cpp:61: error: 'bias' was not declared in this scope
overfeat.cpp:64: error: 'init1' was not declared in this scope
overfeat.cpp: In function 'void overfeat::free()':
overfeat.cpp:68: error: 'nModules' was not declared in this scope
overfeat.cpp:69: error: 'outputs' was not declared in this scope
overfeat.cpp:71: error: 'weights' was not declared in this scope
overfeat.cpp:73: error: 'bias' was not declared in this scope
overfeat.cpp: In function 'int overfeat::get_n_layers()':
overfeat.cpp:83: error: 'nModules' was not declared in this scope
overfeat.cpp: In function 'THTensor* overfeat::get_output(int)':
overfeat.cpp:87: error: 'nModules' was not declared in this scope
overfeat.cpp:88: error: 'outputs' was not declared in this scope
overfeat.cpp: In function 'std::string overfeat::get_class_name(int)':
overfeat.cpp:92: error: 'nClasses' was not declared in this scope
overfeat.cpp:93: error: 'class_names' was not declared in this scope
overfeat.cpp: In function 'std::vector<std::pair<std::basic_string<char, std::char_traits, std::allocator >, float>, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator >, float> > > overfeat::get_top_classes(THTensor_, int)':
overfeat.cpp:98: error: 'nClasses' was not declared in this scope
overfeat.cpp: In function 'THTensor_ overfeat::fprop(THTensor_)':
overfeat.cpp:111: error: 'fprop1' was not declared in this scope
make[1]: *_* [lib] Error 1
make[1]: Leaving directory `/home/yaoli/tools/OverFeat/src'
make: *** [all] Error 2
Could you please kindly help me out?
it is not working with using cuda , it requires using cuda 5.5, however my linux system is 14. which can not install cuda5.5, so it is not working using gpu.
And it is strange when the picture is not in the same directory as the code, it is training not well, very slow, I do not know why.
Can I compile CUDA version instead of using the binary provided
I'm using the overfeat python API, and the output of the third layer seems odd.
type(image)
Out[19]: numpy.ndarray
b = overfeat.fprop(image)
bla = overfeat.get_output(3)
overfeat.get_output(3).shape
Out[22]: (96, 28, 28)
Doesn't the paper say 96channels of 24x24?
Hi, I receive the same output for every input image I give the Overfeat model using the Python API. Minimal code to reproduce:
>>> overfeat.init(path_to_weights, 0)
>>> img = np.random.rand(3, 231, 231).astype(np.float32)
>>> r1 = overfeat.fprop(img)
>>> img = np.random.rand(3, 231, 231).astype(np.float32)
>>> r2 = overfeat.fprop(img)
>>> all(r1 == r2)
True
Just needed to remove openblas
from library_dirs
and add , '-L/opt/OpenBLAS/lib'
to extra_link_args
. Here's the whole working file.
from distutils.core import setup, Extension
import numpy
import os.path as path
module1 = Extension("overfeat",
include_dirs = ['../../src', numpy.get_include()],
library_dirs = ['../../src'],
libraries = ['TH', 'overfeat'],
sources = ['overfeatmodule.cpp'],
extra_compile_args=['-fopenmp'],
extra_link_args=['-lgomp', '-l%s'%(path.abspath('../../src/libTH.a')), '-L/opt/OpenBLAS/lib'])
setup(name = 'overfeat',
version = '1.0',
description = 'Python bindings for overfeat',
ext_modules = [module1],
install_requires = ['numpy'])
On Maverick, when I try to load the webcam demo
dyld: Library not loaded: /opt/local/lib/libgcc/libgomp.1.dylib
Referenced from: /Users/shill/Projects/OverFeat/bin/macos/webcamcmd
Reason: image not found
If I try to mdfind this file:
/usr/local/Cellar/gcc48/4.8.3/lib/gcc/x86_64-apple-darwin13.0.2/4.8.3/libgomp.1.dylib
/usr/local/Cellar/gcc48/4.8.3/lib/gcc/x86_64-apple-darwin13.0.2/4.8.3/i386/libgomp.1.dylib
Any help much appreciated... I'm a novice.
I'm a Mac User. After installing gcc4.9 with Homebrew, I can run the ./overfeat in src but it take a long time to extract the features. It about 5min!
After installing python wrapper, I get " Symbol not found: __ZNSs4_Rep20_S_empty_rep_storageE" when I try to import overfeat.
I'm trying to make a post in Google group, but it's too slow to load the website for me because I'm from China.
If followed your directions for installation on Ubuntu 12.04 LTS (via AWS) and am getting the following error when trying to run the example:
$ bin/linux_64/overfeat samples/bee.jpg
sh: 1: convert: not found
/socialq/overfeat/bin/linux_64/overfeatcmd: error while loading shared libraries: libopenblas.so.0: cannot open shared object file: No such file or directory
I have run the feature extraction example on ubuntu as follows:
./bin/linux_64/overfeat -f samples/pliers.jpg > pliers.txt
my sys info are as follows:
system System Product Name (SKU)
/0 bus P8B75-V
/0/0 memory 64KiB BIOS
/0/4 processor Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
/0/4/5 memory 256KiB L1 cache
/0/4/6 memory 1MiB L2 cache
/0/4/7 memory 6MiB L3 cache
/0/1 memory
/0/1/0 memory DIMM [empty]
/0/5e memory System Memory
/0/5e/0 memory DIMM [empty]
/0/5e/1 memory DIMM [empty]
/0/5e/2 memory 8GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/2 memory
/0/3 memory
/0/100 bridge Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller
/0/100/1 bridge Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
/0/100/2 display Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
/0/100/14 bus 7 Series/C210 Series Chipset Family USB xHCI Host Controller
/0/100/16 communication 7 Series/C210 Series Chipset Family MEI Controller #1
/0/100/1a bus 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2
/0/100/1b multimedia 7 Series/C210 Series Chipset Family High Definition Audio Controller
/0/100/1c bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 1
/0/100/1c.4 bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 5
/0/100/1c.4/0 p4p1 network RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
/0/100/1d bus 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1
/0/100/1e bridge 82801 PCI Bridge
/0/100/1f bridge B75 Express Chipset LPC Controller
/0/100/1f.2 storage 7 Series/C210 Series Chipset Family 4-port SATA Controller [IDE mode]
/0/100/1f.3 bus 7 Series/C210 Series Chipset Family SMBus Controller
/0/100/1f.5 storage 7 Series/C210 Series Chipset Family 2-port SATA Controller [IDE mode]
/0/5 scsi0 storage
/0/5/0.0.0 /dev/sda disk 2TB ST2000DM001-1CH1
/0/5/0.0.0/1 /dev/sda1 volume 243MiB Linux filesystem partition
/0/5/0.0.0/2 /dev/sda2 volume 1862GiB Extended partition
/0/5/0.0.0/2/5 /dev/sda5 volume 1862GiB Linux LVM Physical Volume partition
/1 power To Be Filled By O.E.M.
it costs 2m27.607s,is there anything I can do to speed up it?
overfeat.cpp:55:21: fatal error: net_init.hpp: No such file or directory
I cannot find the files defined in overfeat.cpp, such as:
I installed overfeat and built source. I am able run classification samples using overfeat/overfeat_cuda. But when I try to extract feature using,
./overfeat ../data/default/ -f ../samples/bee.jpg ../samples/bee.jpg
it blocks forever, does it take too long?
On cuda version I get,
Error: /home/myrhev/phd/torch_gpu/overfeat/src/cuda/THC/THCStorage.c(120) : cuda runtime error : out of memory
I copied the example for online decoding verbatim from the homepage. This is what I get:
$ convert image-001.jpg image-002.jpg -resize 231x231 ppm:- | ./bin/linux_64/overfeat -p
Segmentation fault (core dumped)
convert.im6: no images defined `ppm:-' @ error/convert.c/ConvertImageCommand/3044.
I tried to use the precompiled version of <liboverfeat.a>
from my code and it worked out.
However, I would like to have feature extraction faster and I tried to do the linking procedure for the CUDA version liboverfeat_cuda.a
as well.
Unfortunately, it seems that the THCudaTensor.hpp
needs THC.h
to able to use libTHC.a
.
So the question: should there also be THC.h
file provided to link to the CUDA version? Or it could be done in any other way?
Thanks!
Any plans to update the webcam.cpp files with cuda 7.0/7.5 anytime soon?
Hi guys!
I am using OverFeat to classify some images and I figured out that there are two classes with same name: crane.
I tested like this:
./overfeat -n 1000 /home/image.png | grep crane
As a workaround, we removed the sort function and replaced the class name by a integer.
Please, would be possible to do the same in cuda source code?
Thanks and best regards,
Leonardo
When I want to install the python api,the system informed me that there is no file named ‘THGeneral.h’,How can I solve the problem?Thank you
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.