thaines / helit Goto Github PK
View Code? Open in Web Editor NEWMy machine learning/computer vision library for all of my recent papers, plus algorithms that I just like.
My machine learning/computer vision library for all of my recent papers, plus algorithms that I just like.
Hey there,
This looks like a really interesting project. I've managed to get it compiled on Mac OSX, the line graph viewer works well, the HST main functions perfectly, but when I hit generate, I get the following error:
Starting generation...
L1::Selecting Glyphs...
Traceback (most recent call last):
File "/Users/lukeandkimberlee/helit/handwriting/hst/hst.py", line 613, in __generate
glyph_list = select_glyphs_dp(txt[i], self.glyph_db, fetch_count, match_strength, wrong_place_cost, space_mult, cfunc, True)
File "/Users/lukeandkimberlee/helit/handwriting/hst/generate.py", line 133, in select_glyphs_dp
cost[j,i] = mult * cost_func(left, right)
File "/Users/lukeandkimberlee/helit/handwriting/hst/costs.py", line 93, in end_dist_cost_rf
cost_proxy = frf.load_forest('cost_proxy.rf')
File "/Users/lukeandkimberlee/helit/handwriting/hst/frf/frf.py", line 43, in load_forest
f = bz2.BZ2File(fn, 'r')
IOError: [Errno 2] No such file or directory: 'cost_proxy.rf'
There is no cost_proxy.rf in the 'hst' directory. Do I have to run one of the python files to generate it first, or am I missing something here?
BTW I'm using the twin_older fineliner line graph to test with if that matters.
Hi, in the README for handwriting you say that you use "GNU Affero GPL 3.0 for the bits we want to license (research use is OK, but commercial use would be extremely problematic)". However, the Gnu Affero GPL 3 license doesn't place any restrictions on commercial use (as long as modified source code is offered).
I'm asking because I work for a small startup that's contemplating adding handwritten notes to our greeting card/sharing service we're launching. We came across Handwriting.io and it looked neat but pricy, so we started hunting around for other possibilities and found this.
I don't want to step on any toes, but it's not clear if you're actually trying to prohibit commercial use of the handwriting library or not.
Hey Tom,
first of all thank you for your work and research - it´s very impressive!
I listend to your interview on the german radio station 'dlf' and started to learn some basics of python (so i´m fairly a newbie but it´s alot of fun to learn that stuff) .. after some - or more troubleshooting I got your handwriting code to run - nearly...
The GUI is working on both (hst and let) but if I try to load an image, generate or calculate stuff I get this error:
Loading image (image shows up in the let-gui) [let]
Generate with an already tagged image [hst]
I already tried older versions of numpy as you commented that some numpy features were depreciated - but that didn´t fixed my problems ... maybe it´s something simple you or somebody else can help me with to finally get it to run properly :)
Thank you in advance for your help!
When I run utils_gui/image_viewer.py
script this is what I get:
python utils_gui/image_viewer.py
/home/daniel/helit/utils_gui/viewer.py:16: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import Gtk, Gdk, GdkPixbuf
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
And it opens a blank image.
I'm running the code on ubuntu 17.04 x64
Would appreciate any type of help.
I tried clicking on the scissor icon labeled "Toggles if the threshold for the image is shown or not" but it gave me the following:
Calculating density model...
Traceback (most recent call last):
File "/home/ytan/Dev/handwriting/helit/handwriting/let/let.py", line 743, in __threshold_visible
self.run_threshold()
File "/home/ytan/Dev/handwriting/helit/handwriting/let/let.py", line 684, in run_threshold
_, self.density = threshold.cluster_colour(image, size=self.threshold_cluster_size, halves=self.threshold_cluster_halves)
File "/home/ytan/Dev/handwriting/helit/handwriting/let/threshold.py", line 352, in cluster_colour
tps.learn(dm_x * scale, dm_y)
File "/home/ytan/Dev/handwriting/helit/handwriting/let/misc/tps.py", line 47, in learn
assert(y!=None or (a!=None and b!=None))
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
How to install and use My Text in Your Handwriting into my windows or mac ? I know this is use phyton, but can you guys guide me ?
Hi!
I'm trying to follow the instructions in the READ.ME file for the project and am working on getting the test file 'test_continuous_to_continuous.py' to run, as the steps suggest running test files from helit/frf. I am currently encountering the following error when trying to run setup.py to create frf_c.so:
veronica@veronica-virtual-machine:~/helit/frf$ sudo python2 setup.py install
[sudo] password for veronica:
running install
running bdist_egg
running egg_info
writing frf.egg-info/PKG-INFO
writing top-level names to frf.egg-info/top_level.txt
writing dependency_links to frf.egg-info/dependency_links.txt
reading manifest file 'frf.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'frf.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
There is a workaround to now inherit optimization CFLAGS when compiling wheels.
To enable this, set APPLY_LP2002043_UBUNTU_CFLAGS_WORKAROUND in your
environment. See LP: https://launchpad.net/bugs/2002043 for further context.
APPLY_LP2002043_UBUNTU_CFLAGS_WORKAROUND not detected.
building 'frf_c' extension
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c philox.c -o build/temp.linux-x86_64-2.7/philox.o
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c data_matrix.c -o build/temp.linux-x86_64-2.7/data_matrix.o
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c summary.c -o build/temp.linux-x86_64-2.7/summary.o
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c information.c -o build/temp.linux-x86_64-2.7/information.o
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c learner.c -o build/temp.linux-x86_64-2.7/learner.o
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c index_set.c -o build/temp.linux-x86_64-2.7/index_set.o
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c tree.c -o build/temp.linux-x86_64-2.7/tree.o
x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c frf_c.c -o build/temp.linux-x86_64-2.7/frf_c.o
x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-RH0SVf/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC build/temp.linux-x86_64-2.7/philox.o build/temp.linux-x86_64-2.7/data_matrix.o build/temp.linux-x86_64-2.7/summary.o build/temp.linux-x86_64-2.7/information.o build/temp.linux-x86_64-2.7/learner.o build/temp.linux-x86_64-2.7/index_set.o build/temp.linux-x86_64-2.7/tree.o build/temp.linux-x86_64-2.7/frf_c.o -o build/lib.linux-x86_64-2.7/frf_c.so
/usr/bin/ld: build/temp.linux-x86_64-2.7/learner.o (symbol from plugin): in function Idiot_new': (.text+0x0): multiple definition of
BiGaussianInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/learner.o (symbol from plugin): in function Idiot_new': (.text+0x0): multiple definition of
GaussianInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/learner.o (symbol from plugin): in function Idiot_new': (.text+0x0): multiple definition of
CategoricalInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/learner.o (symbol from plugin): in function Idiot_new': (.text+0x0): multiple definition of
NothingInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/index_set.o (symbol from plugin): in function IndexSet_new': (.text+0x0): multiple definition of
OneCatLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/index_set.o (symbol from plugin): in function IndexSet_new': (.text+0x0): multiple definition of
SplitLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/index_set.o (symbol from plugin): in function IndexSet_new': (.text+0x0): multiple definition of
IdiotLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
BiGaussianSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
GaussianSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
CategoricalSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
NothingSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
BiGaussianInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
GaussianInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
CategoricalInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
NothingInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
OneCatLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
SplitLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/tree.o (symbol from plugin): in function PtrArray_new': (.text+0x0): multiple definition of
IdiotLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
OneCatLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
SplitLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
IdiotLearner'; build/temp.linux-x86_64-2.7/learner.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
BiGaussianInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
GaussianInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
CategoricalInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
NothingInfo'; build/temp.linux-x86_64-2.7/information.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
BiGaussianSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
GaussianSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
CategoricalSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: build/temp.linux-x86_64-2.7/frf_c.o (symbol from plugin): in function CallbackReport': (.text+0x0): multiple definition of
NothingSummary'; build/temp.linux-x86_64-2.7/summary.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Do other header/source files in different directories need to be compiled to resolve this issue? What can I do to run the program?
I just begin to learn the Python,when I run the code in helit-master/handwriting/let$ python main.py
ImportError: No module named line_graph.utils_gui.viewer. I don't quite understand the file like 'utils_gui' in only write '../../utils_gui/' ,how can the python find the path.
Hello. I would very much like to try out "My text in your handwriting." I am following the instructions, utilizing Ubuntu 18.04 (on WSL2 in Windows10, but I don't think that should make a difference). I am using Python 2.7. I have scipy and numpy installed. But when I try to run one of the test python files in the frf directory (as suggested in the instructions, to test that the first of the two compiling methods is working), I get the following error, no matter which file I run.
(venv) scott@Yogi:~/envs/helit/frf$ python test_weight.py
Traceback (most recent call last):
File "test_weight.py", line 13, in <module>
import frf
File "/home/scott/envs/helit/frf/frf.py", line 23, in <module>
from frf_c import *
ImportError: /home/scott/envs/helit/frf/frf_c.so: undefined symbol: SummaryPtr
(And among possible problems mentioned in the instructions: I already have gcc installed; and I have the python-dev version installed; however, I do not have a dev version of numpy installed since I don't really understand what that is or how to install it. I just have "regular" numpy installed, I guess.)
I sure hope someone can please help me out! (It doesn't look like there's been much activity here for a while.) Thank you.
Dear Thaines,
Your project is very interesting, but unfortunately, since Python 2 and many of its packages are deprecated, it is a hassle to run it even with Python 2 on Linux. I think the quickest solution to this problem would be to write a brief documentation on how to prepare the build environment. Both myself and other people interested in your project would appreciate it if you could prepare such documentation. Additionally, the right and long-term solution is to migrate the project to Python 3 because as time passes, more and more packages are deprecated, making it harder and harder to prepare the build environment.
Hi,
I have little knowledge on DP. However, I used the code to estimate the density of some mixtures and try to get the mixture components, It seems that the algorithm produces different results each time. The self.v values differ each time.
I am not sure whether this is a bug or it is the nature of the variational inference algorithm.
Original issue reported on code.google.com by [email protected]
on 17 Sep 2013 at 11:23
I get the following error because C code doesn't find numpy headers
how to tell it to look for it inside my virtualenv folder env?
python test_discrete_to_discrete.py
b
running build_ext
building 'frf_c' extension
creating /tmp/tmpD18M5k/home
creating /tmp/tmpD18M5k/home/daniel
creating /tmp/tmpD18M5k/home/daniel/helit
creating /tmp/tmpD18M5k/home/daniel/helit/frf
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-ZZaKJ6/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c /home/daniel/helit/frf/philox.c -o /tmp/tmpD18M5k/home/daniel/helit/frf/philox.o
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-ZZaKJ6/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c /home/daniel/helit/frf/data_matrix.c -o /tmp/tmpD18M5k/home/daniel/helit/frf/data_matrix.o
In file included from /home/daniel/helit/frf/data_matrix.c:11:0:
/home/daniel/helit/frf/data_matrix.h:20:31: fatal error: numpy/arrayobject.h: No such file or directory
#include <numpy/arrayobject.h>
^
compilation terminated.
Traceback (most recent call last):
File "test_discrete_to_discrete.py", line 13, in <module>
import frf
File "/home/daniel/helit/frf/frf.py", line 23, in <module>
from frf_c import *
ImportError: No module named frf_c
Hello,
I'm trying to launch yout helit software (let part for now), but I have a problem with dependancies.
Could you please publish a requirements file? (even the all output of pip freeze
including unused package for this app of a python installation that is able to run 'let' app?)
Thanks in advance
Hello
I want to use this for an essay my stupid teacher wants me to be handwritten, but I use windows.
Is there another version of the software you might develop recently, or is there any alternative?
I think this could be huge among the students, but it seems like you guys discontinued or something.
It would be great if you give me a solution for this!
I randomly came across your code as I was trying to confirm the correctness of
my own Wishart sampler, and I think you might have a bug. Instead of:
random.gammavariate(0.5*(self.dof-d+1),2.0)
I think it should be:
random.gammavariate(0.5*(self.dof-r),2.0)
Anyway, sorry to bother you, and definitely let me know if I'm wrong. :) Thanks.
Original issue reported on code.google.com by [email protected]
on 2 May 2013 at 7:05
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.