Git Product home page Git Product logo

facial-expression-recognition.pytorch's Introduction

Facial-Expression-Recognition.Pytorch

A CNN based pytorch implementation on facial expression recognition (FER2013 and CK+), achieving 73.112% (state-of-the-art) in FER2013 and 94.64% in CK+ dataset

Demos

Image text Image text

Dependencies

  • Python 2.7
  • Pytorch >=0.2.0
  • h5py (Preprocessing)
  • sklearn (plot confusion matrix)

Visualize for a test image by a pre-trained model

FER2013 Dataset

Preprocessing Fer2013

  • first download the dataset(fer2013.csv) then put it in the "data" folder, then
  • python preprocess_fer2013.py

Train and Eval model

  • python mainpro_FER.py --model VGG19 --bs 128 --lr 0.01

plot confusion matrix

  • python plot_fer2013_confusion_matrix.py --model VGG19 --split PrivateTest

fer2013 Accurary

  • Model: VGG19 ; PublicTest_acc: 71.496% ; PrivateTest_acc:73.112%
  • Model: Resnet18 ; PublicTest_acc: 71.190% ; PrivateTest_acc:72.973%

CK+ Dataset

  • The CK+ dataset is an extension of the CK dataset. It contains 327 labeled facial videos, We extracted the last three frames from each sequence in the CK+ dataset, which contains a total of 981 facial expressions. we use 10-fold Cross validation in the experiment.

Train and Eval model for a fold

  • python mainpro_CK+.py --model VGG19 --bs 128 --lr 0.01 --fold 1

Train and Eval model for all 10 fold

  • python k_fold_train.py

plot confusion matrix for all fold

  • python plot_CK+_confusion_matrix.py --model VGG19

CK+ Accurary

  • Model: VGG19 ; Test_acc: 94.646%
  • Model: Resnet18 ; Test_acc: 94.040%

facial-expression-recognition.pytorch's People

Contributors

wujie1010 avatar

Stargazers

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

Watchers

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

facial-expression-recognition.pytorch's Issues

Error in running my own model

when i run this training file on my own model i gives this error.
can you tell me why this happen?
Epoch: 0
learning_rate: 0.1
Traceback (most recent call last):
File "mainpro_FER.py", line 229, in
train(epoch)
File "mainpro_FER.py", line 132, in train
utils.clip_gradient(optimizer, 0.1)
File "/home/naveed/Facial-Expression-Recognition.Pytorch-master/utils.py", line 72, in clip_gradient
param.grad.data.clamp_(-grad_clip, grad_clip)
AttributeError: 'NoneType' object has no attribute 'data'

Doubt about the final saved parameter values of the model for the private test

First of all, thank you for sharing the code. But I have a small question. The final saved parameter values of the model for the private test correspond to the parameters of the convolution network when the model has the highest detection accuracy on the (Private test)dataset. However, in practical applications, the test set cannot be obtained in advance, so the accuracy of the test set is not convincing. I think that the validation set (Public Test) should be used as a reference standard. The final parameter value of the model used for the test set(private test) is corresponding to the parameters of the convolution network when the model has the highest detection accuracy on the validation set(Private test). I think this is more reasonable.Private test is only used during the final test.

Hyperparamaters

Sorry, I'm new to Deep Learning.
May I know what are the hyperparameters you used to get VGG19 of Test_acc: 94.646% and Resnet18 of Test_acc: 94.040%
Mine seem to always be getting an average accuracy of 88% after 10 folds for both.
I used lr 0.01, bs 128, epoch 40, learning_rate_decay_start = 20, learning_rate_decay_every = 1 and learning_rate_decay_rate = 0.8

plot confusion matrix时被killed

我是cpu-only的电脑。
在跑confusion matrix那一步(python plot_fer2013_confusion_matrix.py --model VGG19 --split PrivateTest)的时候,先报了RuntimeError(torch.cuda.is_available() is False)。我按照报错提示
WX20190505-155349@2x
将plot_fer2013_confusion_matrix.py中的checkpoint = torch.load(os.path.join(path, opt.split + '_model.t7')) 改为👉checkpoint = torch.load(os.path.join(path, opt.split + '_model.t7'), map_location='cpu')
然后按照之前issues的那样comment掉了.cuda()的code。
然后再run plotting confusion matrix的指令的时候并没有报错,但是会卡死,然后最后显示killed
WX20190505-155400@2x

可以帮忙看一下是什么问题吗?谢谢!

out of memory in test

Thanks a lot for your code!

I met a problem in PublicTest and PrivateTest. In this period, --bs 128 may be out of memory.
In training,the memory is 2600MiB / 8114MiB.

It is so strange that the big memory usage gap exists between test and train.

Looking forward to your reply

Have problems in CK+ Accurary

Hello,WuJie!
I run k_fold_train.py with vgg19,but got best_Test_acc: 90.000, in your readme VGG19 Test_acc is 94.646% ,What can I do to increase accuracy.Can you help me?
Thank you in advance.

训练时报错

博主你好,训练时python mainpro_FER.py --model VGG19 --bs 128 --lr 0.01报如下错误:
File "mainpro_FER.py", line 109, in train
for batch_idx, (inputs, targets) in enumerate(trainloader):
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 174, in next
return self._process_next_batch(batch)
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 198, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
TypeError: Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 34, in _worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 79, in default_collate
return [default_collate(samples) for samples in transposed]
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 79, in
return [default_collate(samples) for samples in transposed]
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 82, in default_collate
.format(type(batch[0]))))
TypeError: batch must contain tensors, numbers, or lists; found <class 'numpy.int64'>

数据加载失败?

Having problems in understanding the implement of 10-fold Cross validation ?

Hi, WuJie!this is a great work! I am interested in tuning the model.

I am having problems while debugging "mainpro_CK+.py".
parser.add_argument('--fold', default=1, type=int, help='k fold number')

My questions:

  1. fold default is 1,while I has not input,It turn to 10.I really want to know how to realize.
  2. Could you please give me more detail about the implement of 10-fold Cross validation?

Thank you in advance!

How to draw an accuracy curve after train?

After training the prgram,I want to draw an accuracy curve,but I don't to do.can you tell me the way.
And,how to use SVM to obeserve the training results.Thanks very much!!!

Why 44*44 input can be trained through VGG?

Generally speaking, for VGG16 or 19, the input size is 224x224, 44x44 image should be too small to be convoluted for so many times. Why there's no problem in this project?

关于准确度和裁剪的问题

作者你好!非常感谢您分享的代码!有两个问题想请教您。我通过修改网络和超参数将ck准确度提升到了100%,我觉得这是不应该出现的,我认为可能是代码中10折交叉验证中出现了问题(没有将十折的数据轮流使用),或者是我理解的问题?我想的是:作者的test不是传统意义上的test,而只是train中的一部分,是不是应该在之后加上一个测试来检测模型的准确度?
另一个问题,请问在代码中有intraface裁剪出人脸的操作吗?还是只是随机裁剪了图片?谢谢您!

关于fer2013的tencrop

您好,在mainpro_fer.py里的测试集有做tencrop, 可是好像没有fold?我理解的是您将测试集扩大了十倍,然后有十个fold求平均,对fer2013的测试集好像只做了扩大10倍的操作.这里不太懂,不知道是我漏了哪没看,想请教请教您.谢啦~

fer2013训练好的模型

您好,由于自己的设备问题没办法实现对数据集fer2013的训练,请问您有最终达到70%左右准确率的参数文件吗?我想看一下最终效果,谢谢

关于在原程序上的修改

作者你好!我想在您的原来visualize.py代码的基础上改为使用resnet模型,我在之前的issue中保存了您分享的一份resnet模型,想请问一下您分享的模型是基于哪个数据集训练的?以及想问问是否将代码net = VGG('VGG19')改为net = ResNet('Resnet18'),并且将checkpoint中的模型替换就可以了?resnet模型所在的文件夹名字有讲究吗?

不好意思我的问题有点多,非常感谢您!(如果方便的话,请问可以使用邮箱交流吗,我的邮箱是[email protected]

mainpro_CK+.py:27: in <module> opt = parser.parse_args()

First of all, thank you for your reply to the previous question, it has been resolved.But I run the utils.py,next to have follow these quesion:
============================= test session starts ==============================
platform linux -- Python 3.5.2, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /home/f404/kongzewuxin/Facial_Expression_Recognition_Pytorch, inifile: usage: _jb_pytest_runner.py [-h] [--model MODEL] [--dataset DATASET]
[--fold FOLD] [--bs BS] [--lr LR] [--resume]
_jb_pytest_runner.py: error: unrecognized arguments: /home/f404/kongzewuxin/Facial_Expression_Recognition_Pytorch/mainpro_CK+.py

mainpro_CK+.py:None (mainpro_CK+.py)
mainpro_CK+.py:27: in
opt = parser.parse_args()
../../anaconda3/lib/python3.5/argparse.py:1729: in parse_args
self.error(msg % ' '.join(argv))
../../anaconda3/lib/python3.5/argparse.py:2385: in error
self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
../../anaconda3/lib/python3.5/argparse.py:2372: in exit
_sys.exit(status)
E SystemExit: 2
collected 0 items / 1 errors
==================================== ERRORS ====================================
_______________________ ERROR collecting mainpro_CK+.py ________________________
mainpro_CK+.py:27: in
opt = parser.parse_args()
../../anaconda3/lib/python3.5/argparse.py:1729: in parse_args
self.error(msg % ' '.join(argv))
../../anaconda3/lib/python3.5/argparse.py:2385: in error
self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
../../anaconda3/lib/python3.5/argparse.py:2372: in exit
_sys.exit(status)
E SystemExit: 2
------------------------------- Captured stderr --------------------------------
usage: _jb_pytest_runner.py [-h] [--model MODEL] [--dataset DATASET]
[--fold FOLD] [--bs BS] [--lr LR] [--resume]
_jb_pytest_runner.py: error: unrecognized arguments: /home/f404/kongzewuxin/Facial_Expression_Recognition_Pytorch/mainpro_CK+.py
=========================== 1 error in 0.57 seconds ============================

I'm very sad, after look for losts information.
please help me reslove again
Thankyou.

运行mainpro_Fer 报错 楼主可以帮我看下吗? 谢谢Exception has occurred: TypeError can't pickle _thread._local objects

Exception has occurred: TypeError
can't pickle _thread._local objects
File "E:\Projects\facial-expression-recognition.pytorch-master\mainpro_fer.py", line 38, in train
for batch_idx, (inputs, targets) in enumerate(trainloader):
File "E:\Projects\facial-expression-recognition.pytorch-master\mainpro_fer.py", line 215, in
train(epoch)

from ._conv import register_converters as _register_converters
==> Preparing data..
==> Building model..

Epoch: 0
learning_rate: 0.01
E:\Program Files\Anaconda3\lib\site-packages\h5py_init_.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
Traceback (most recent call last):
File "", line 1, in
File "E:\Program Files\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "E:\Program Files\Anaconda3\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input

mainpro_FER.py

RuntimeError: error executing torch_shm_manager at "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/bin/torch_shm_manager" at ../torch/lib/libshm/core.cpp:99

关于模型

大佬,你好,看到你的模型师是VGG19,但是fer2013是灰度图像,单通道的,怎么在Input的时候,是设置的3呢??

关于fer2013模型准确率的问题

你好,我们按照readme步骤下载了训练好的模型(PrivateTest_model.t7),但是没有找到叫FER2013_VGG19的文件夹,就自己建了一个,再把模型放进去。
Screen Shot 2019-05-06 at 4 01 19 AM

安装了pytorch 0.4版本,我们按照步骤输了python mainpro_FER.py --model VGG19 --bs 128 --lr 0.01
这样跑出来准确率只有25%左右
WechatIMG11522

请问是我们训练好的模型放错地方了吗?可以帮忙看一下吗?谢谢!

Unable to download PrivateTest_model.t7

Please may you upload the PrivateTest_model.t7 file or provide a username and password for when the Application Baidu downloads. I am trying to download the PrivateTest_model.t7 directly from the website given but this is not allowed.

_, term_width = os.popen('stty size', 'r').read().split()

when I run mainpro_FER or mainpro_CK+, meet the follow error:
imports utils
_, term_width = os.popen('stty size', 'r').read().split()
ValueError :not enough values to unpack (expected 2, get 0)

I have found a lot of information, but there is still no solution.please help me!
(notes: I run in gtx900Ti +python3.5+torch0.4.1+torchivision0.2.1)
Thanks!!!

Please help me! When run train(epoch)

Epoch: 0
learning_rate: 0.01
Traceback (most recent call last):
File "mainpro_FER.py", line 214, in
train(epoch)
File "mainpro_FER.py", line 119, in train
train_loss += loss.data[0]
IndexError: invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python number

RuntimeError

I run 'python mainpro_FER.py --model VGG19 --bs 128 --lr 0.01',
but when
train_loss += loss.data[0]
[========== 225/225 ==========>] | Loss: 1.797 | Acc: 27.000% (7936/28709)
RuntimeError: CUDA error: out of memory
how to solve the problem,thanks for your help

关于预训模型

你好,首先非常感谢您的代码,请问可以提供一下预训模型吗,您给的谷歌盘链接需要翻墙才可以下载,本人邮箱[email protected],非常感谢

Real time test

Can we run this model to detect expressions in real time

about 10 folds

It is a great work!
I have a question, if I want to add some features, the features should multiple by 10? Where I can implement it?
Thank you in advance.

ValueError: need more than 0 values to unpack

when I run the command python visualize.py, I got this error:
Traceback (most recent call last):
File "visualize.py", line 47, in
ncrops, c, h, w = np.shape(inputs)
ValueError: need more than 0 values to unpack
Has anyone met this problem?

测试集为什么要用tencrop

想问一下作者,为什么testset要进行transforms.tencrop(cut_size)?
这样一来,每次测试所使用的图片不就不一样了吗?测试集不应该是每一次都一样吗?
我有点疑惑,希望能得到您的答复。谢谢!

运行Utils.py时总是有这个问题

Traceback (most recent call last):
File "D:/Facial-Expression-Recognition.Pytorch/mainpro_FER.py", line 15, in
import utils
File "D:\Facial-Expression-Recognition.Pytorch\utils.py", line 16, in
_, term_width = os.popen('stty size', 'r').read().split()
ValueError: not enough values to unpack (expected 2, got 0)

run mainpro_FER.py report an error. I can't solve. Please help me, thanks!

==> Preparing data..
==> Building model..

Epoch: 0
learning_rate: 0.01
Traceback (most recent call last):
File "C:/Users/Du/Desktop/a program/python/CCC/mainpro_FER.py", line 218, in
train(epoch)
File "C:/Users/Du/Desktop/a program/python/CCC/mainpro_FER.py", line 110, in train
for batch_idx, (inputs, targets) in enumerate(trainloader):
File "C:\A\envs\tensorflow-gpu\lib\site-packages\torch\utils\data\dataloader.py", line 501, in iter
return _DataLoaderIter(self)
File "C:\A\envs\tensorflow-gpu\lib\site-packages\torch\utils\data\dataloader.py", line 289, in init
w.start()
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\context.py", line 322, in Popen
return Popen(process_obj)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\popen_spawn_win32.py", line 65, in init
reduction.dump(process_obj, to_child)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle h5py.h5f.FileID objects
C:\A\envs\tensorflow-gpu\lib\site-packages\h5py_init
.py:34: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
==> Preparing data..
==> Building model..

Epoch: 0
learning_rate: 0.01
Traceback (most recent call last):
File "", line 1, in
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\spawn.py", line 114, in _main
prepare(preparation_data)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\spawn.py", line 225, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
run_name="mp_main")
File "C:\A\envs\tensorflow-gpu\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\A\envs\tensorflow-gpu\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\A\envs\tensorflow-gpu\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Du\Desktop\a program\python\CCC\mainpro_FER.py", line 218, in
train(epoch)
File "C:\Users\Du\Desktop\a program\python\CCC\mainpro_FER.py", line 110, in train
for batch_idx, (inputs, targets) in enumerate(trainloader):
File "C:\A\envs\tensorflow-gpu\lib\site-packages\torch\utils\data\dataloader.py", line 501, in iter
return _DataLoaderIter(self)
File "C:\A\envs\tensorflow-gpu\lib\site-packages\torch\utils\data\dataloader.py", line 289, in init
w.start()
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\popen_spawn_win32.py", line 33, in init
prep_data = spawn.get_preparation_data(process_obj._name)
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
_check_not_importing_main()
File "C:\A\envs\tensorflow-gpu\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
is not going to be frozen to produce an executable.''')
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.

    This probably means that you are not using fork to start your
    child processes and you have forgotten to use the proper idiom
    in the main module:

        if __name__ == '__main__':
            freeze_support()
            ...

    The "freeze_support()" line can be omitted if the program
    is not going to be frozen to produce an executable.

RuntimeError: CUDA error: out of memory

When I run the training process, it reports the RuntimeError.
The GPU in my Linux system is Tesla K40c. Why it prompts "out of memory"? Can you help me?

==> Preparing data..
==> Building model..
/usr/local/lib/python2.7/dist-packages/torch/cuda/__init__.py:116: UserWarning: 
    Found GPU1 Quadro K420 which is of cuda capability 3.0.
    PyTorch no longer supports this GPU because it is too old.
    
  warnings.warn(old_gpu_warn % (d, name, major, capability[1]))

Epoch: 0
learning_rate: 0.01
mainpro_FER.py:119: UserWarning: invalid index of a 0-dim tensor. This will be an error in PyTorch 0.5. Use tensor.item() to convert a 0-dim tensor to a Python number
  train_loss += loss.data[0]
 [=========== 225/225 =========>] | Loss: 1.836 | Acc: 26.000% (7531/28709)                                                                                                                                                                            
mainpro_FER.py:142: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  inputs, targets = Variable(inputs, volatile=True), Variable(targets)
mainpro_FER.py:146: UserWarning: invalid index of a 0-dim tensor. This will be an error in PyTorch 0.5. Use tensor.item() to convert a 0-dim tensor to a Python number
  PublicTest_loss += loss.data[0]
Traceback (most recent call last):| Loss: 1.628 | Acc: 28.000% (37/128)                                                                                                                                                                                
  File "mainpro_FER.py", line 215, in <module>
    PublicTest(epoch)
  File "mainpro_FER.py", line 143, in PublicTest
    outputs = net(inputs)
  File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/module.py", line 477, in __call__
    result = self.forward(*input, **kwargs)
  File "/data/EmotionRecognition/Facial-Expression-Recognition.Pytorch/models/vgg.py", line 23, in forward
    out = self.features(x)
  File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/module.py", line 477, in __call__
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/container.py", line 91, in forward
    input = module(input)
  File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/module.py", line 477, in __call__
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/conv.py", line 301, in forward
    self.padding, self.dilation, self.groups)
RuntimeError: CUDA error: out of memory

About image size

Hello, in the process of training the FER2013 dataset, I changed the image size to 64*64, but the accuracy rate was reduced to 68%. Do you know the specific reason?
Thank you.

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.