Code Monkey home page Code Monkey logo

ugatit's Introduction

U-GAT-IT — Official TensorFlow Implementation (ICLR 2020)

: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation

This repository provides the official Tensorflow implementation of the following paper:

U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation
Junho Kim (NCSOFT), Minjae Kim (NCSOFT), Hyeonwoo Kang (NCSOFT), Kwanghee Lee (Boeing Korea)

Abstract We propose a novel method for unsupervised image-to-image translation, which incorporates a new attention module and a new learnable normalization function in an end-to-end manner. The attention module guides our model to focus on more important regions distinguishing between source and target domains based on the attention map obtained by the auxiliary classifier. Unlike previous attention-based methods which cannot handle the geometric changes between domains, our model can translate both images requiring holistic changes and images requiring large shape changes. Moreover, our new AdaLIN (Adaptive Layer-Instance Normalization) function helps our attention-guided model to flexibly control the amount of change in shape and texture by learned parameters depending on datasets. Experimental results show the superiority of the proposed method compared to the existing state-of-the-art models with a fixed network architecture and hyper-parameters.

Requirements

  • python == 3.6
  • tensorflow == 1.14

Pretrained model

We released 50 epoch and 100 epoch checkpoints so that people could test more widely.

Dataset

Web page

Telegram Bot

Usage

├── dataset
   └── YOUR_DATASET_NAME
       ├── trainA
           ├── xxx.jpg (name, format doesn't matter)
           ├── yyy.png
           └── ...
       ├── trainB
           ├── zzz.jpg
           ├── www.png
           └── ...
       ├── testA
           ├── aaa.jpg 
           ├── bbb.png
           └── ...
       └── testB
           ├── ccc.jpg 
           ├── ddd.png
           └── ...

Train

> python main.py --dataset selfie2anime
  • If the memory of gpu is not sufficient, set --light to True
    • But it may not perform well
    • paper version is --light to False

Test

> python main.py --dataset selfie2anime --phase test

Architecture


Results

Ablation study

User study

Kernel Inception Distance (KID)

Citation

If you find this code useful for your research, please cite our paper:

@inproceedings{
Kim2020U-GAT-IT:,
title={U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation},
author={Junho Kim and Minjae Kim and Hyeonwoo Kang and Kwang Hee Lee},
booktitle={International Conference on Learning Representations},
year={2020},
url={https://openreview.net/forum?id=BJlZ5ySKPH}
}

Author

Junho Kim, Minjae Kim, Hyeonwoo Kang, Kwanghee Lee

ugatit's People

Contributors

frilox042 avatar sxela avatar taki0112 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  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

ugatit's Issues

change the size of image

I would like to ask, if the width and height of the images in the dataset are different, how can I modify the project?

Do you have a TPU version?

I am actively working on building a TPU version of UGATIT. By any chance do you already have or plan to work on a TPU implementation? The benefit is that (hopefully) instead of taking days it would take hours to train.

Add support for MacOS?

After installing tensorflow and running

python3 main.py --dataset selfie2anime

I'm getting the following error on MacOS (10.14.5)

TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.

The size of ckpt is 7.5G?

I trained the network on my own dataset. But the size of saved checkpoint is 7.5G. Would you like to tell how much space your checkpoint occupies?

This topic is so HOT! Files cannot be downloaded~~

When I downloaded these two files that taki0112 shared, the google drive tells me this:

Sorry, you are currently unable to view or download this file.
Too many users have recently viewed or downloaded this file. Try accessing this file again later. If the file you are trying to access is extremely large or Shared by many people, it can take up to 24 hours to view or download. If you are still unable to access the file after 24 hours, contact your domain administrator.

Could anyone share another link? Thanks a lot~~

Training fail

I got a error saying that loading is failed and learnt that i need to train first but it gives the same error while training.

Error "Failed to find a checkpoint"

Hi, fiorst of all thank you for this awesome Net!
I was aiming to try it out, but got the error in the log:

[*] Reading checkpoints...
[*] Failed to find a checkpoint
[!] Load failed...
[*] Test finished! 

the usage was the following: python main.py --sample_dir customfolder --phase test --light true
where I put a folder next to the source code inside the repository. Inside the folder there was only an image 02.png on which I tried to test the net on.

I have tried absolute path as well, but with the same error. Would you kindly show an example usage for only one picture, or folder?
Thank you in advance!

Can not train.

Can you please tell me how did you train it? I cant train it.

images contain text

I would like to ask, if I want to use the style conversion of images containing characters, what parameters do I need to adjust to ensure that the characters are still clear after conversion?

img_size is ignored when testing

I wanted to train a test model via:

python main.py --dataset mydata --light=True --iteration=5000 --img_size=100 --save_freq=20

That seems to work fine. However, when running the test command, I get:

Traceback (most recent call last):
  File "main.py", line 106, in <module>
    main()
  File "main.py", line 102, in main
    gan.test()
  File "/content/UGATIT/UGATIT.py", line 640, in test
    fake_img = self.sess.run(self.test_fake_B, feed_dict = {self.test_domain_A : sample_image})
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", line 950, in run
    run_metadata_ptr)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", line 1149, in _run
    str(subfeed_t.get_shape())))
ValueError: Cannot feed value of shape (1, 256, 256, 3) for Tensor 'test_domain_A:0', which has shape '(1, 100, 100, 3)'

Seems to me the model has the right size, but the loaded data in test mode defaults to 256?

Extended tutorial

It's an interesting work but people (like me) who doesn´t know about unsupervised networks could realy use an extended tutorial about how to run the commands (the flags mostly) and how to set up the folder hierarchy. And an exalmple would be nice too.

Using this comand:
python--dataset dataset --phase test

Keep having this output https://i.imgur.com/PRgQHVM.jpg

Thanks.

Datasets

Are the datasets discussed in the paper publically available? Specifically the selfie2anime images.

tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found. (0) Unknown: checkpoint/UGATIT_light_BOY_lsgan_4resblock_6dis_1_1_10_10_1000_sn_smoothing/UGATIT_light.model-10000.data-00000-of-00001.tempstate938739319799537584; Input/output error [[{{node save/SaveV2}}]] (1) Unknown: checkpoint/UGATIT_light_BOY_lsgan_4resblock_6dis_1_1_10_10_1000_sn_smoothing/UGATIT_light.model-10000.data-00000-of-00001.tempstate938739319799537584; Input/output error [[{{node save/SaveV2}}]] [[save/SaveV2/_3368]]

Loss turns to NaN

Hi, loss of the network turns to nan after a view (100-200 iterations).
I have about 250 images in dataset for this test run.

What GPU was it trained on?

I am training it on an NVIDIA Tesla K80 but it runs out of memory even when I put the --light True parameter.

Some problems

_> WARNING:tensorflow:From C:\Users\Lenovo\Desktop\UGATIT-master\UGATIT.py:355: shuffle_and_repeat (from tensorflow.contrib.data.python.ops.shuffle_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.data.experimental.shuffle_and_repeat(...).
WARNING:tensorflow:From C:\Users\Lenovo\Desktop\UGATIT-master\UGATIT.py:355: map_and_batch (from tensorflow.contrib.data.python.ops.batching) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.data.experimental.map_and_batch(...).
WARNING:tensorflow:From C:\Users\Lenovo\Desktop\UGATIT-master\UGATIT.py:355: prefetch_to_device (from tensorflow.contrib.data.python.ops.prefetching_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.data.experimental.prefetch_to_device(...).

ValueError: Tensor conversion requested dtype string for Tensor with dtype float32: 'Tensor("arg0:0", shape=(), dtype=float32)'

TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string._

image

How to train on multi GPU?

Hi ,
I'm new to tensorflow, and I trained the model on a multi GPU server.
But it took only ONE gpu.
I want to make all of my gpus useful, is there a way to do so?
Thank you.

Seriously doubtful

After a few days of testing, I cannot help doubting this algorithm. Is it as good as the paper claims? Why not release a pre-trained model for everyone to test? Seriously doubtful!

@taki0112

tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]

[*] Reading checkpoints...
WARNING:tensorflow:From /root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py:1266: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.
Instructions for updating:
Use standard file APIs to check for files with this prefix.
Traceback (most recent call last):
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 1334, in _do_call
return fn(*args)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 1319, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 1407, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]
[[{{node save/Assign_105}}]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 1276, in restore
{self.saver_def.filename_tensor_name: save_path})
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 929, in run
run_metadata_ptr)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 1152, in _run
feed_dict_tensor, options, run_metadata)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 1328, in _do_run
run_metadata)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 1348, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]
[[node save/Assign_105 (defined at /root/UGATIT/UGATIT.py:619) ]]

Caused by op 'save/Assign_105', defined at:
File "main.py", line 106, in
main()
File "main.py", line 102, in main
gan.test()
File "/root/UGATIT/UGATIT.py", line 619, in test
self.saver = tf.train.Saver()
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 832, in init
self.build()
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 844, in build
self._build(self._filename, build_save=True, build_restore=True)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 881, in _build
build_save=build_save, build_restore=build_restore)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 513, in _build_internal
restore_sequentially, reshape)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 354, in _AddRestoreOps
assign_ops.append(saveable.restore(saveable_tensors, shapes))
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saving/saveable_object_util.py", line 73, in restore
self.op.get_shape().is_fully_defined())
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/state_ops.py", line 223, in assign
validate_shape=validate_shape)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/gen_state_ops.py", line 64, in assign
use_locking=use_locking, name=name)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper
op_def=op_def)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 3300, in create_op
op_def=op_def)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1801, in init
self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]
[[node save/Assign_105 (defined at /root/UGATIT/UGATIT.py:619) ]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 106, in
main()
File "main.py", line 102, in main
gan.test()
File "/root/UGATIT/UGATIT.py", line 620, in test
could_load, checkpoint_counter = self.load(self.checkpoint_dir)
File "/root/UGATIT/UGATIT.py", line 606, in load
self.saver.restore(self.sess, os.path.join(checkpoint_dir, ckpt_name))
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 1312, in restore
err, "a mismatch between the current graph and the graph")
tensorflow.python.framework.errors_impl.InvalidArgumentError: Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]
[[node save/Assign_105 (defined at /root/UGATIT/UGATIT.py:619) ]]

Caused by op 'save/Assign_105', defined at:
File "main.py", line 106, in
main()
File "main.py", line 102, in main
gan.test()
File "/root/UGATIT/UGATIT.py", line 619, in test
self.saver = tf.train.Saver()
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 832, in init
self.build()
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 844, in build
self._build(self._filename, build_save=True, build_restore=True)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 881, in _build
build_save=build_save, build_restore=build_restore)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 513, in _build_internal
restore_sequentially, reshape)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 354, in _AddRestoreOps
assign_ops.append(saveable.restore(saveable_tensors, shapes))
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saving/saveable_object_util.py", line 73, in restore
self.op.get_shape().is_fully_defined())
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/state_ops.py", line 223, in assign
validate_shape=validate_shape)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/gen_state_ops.py", line 64, in assign
use_locking=use_locking, name=name)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper
op_def=op_def)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 3300, in create_op
op_def=op_def)
File "/root/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1801, in init
self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]
[[node save/Assign_105 (defined at /root/UGATIT/UGATIT.py:619) ]]

Single channel training set

Trying to train on single-channel grayscale images using '--img_ch 1' argument during training but I get the following error immediately after starting training:

ValueError: Trying to share variable generator_A/conv/conv2d/kernel, but specified shape (7, 7, 3, 64) and found shape (7, 7, 1, 64).

Pretrained models -- other than selfie2anime

Hi,

It would be great if you could also share the other pretrained models.
Especially -- horse2zebra and cat2dog.

It will be very helpful for my research to reproduce your results.
Thank you very much in advance.

tensorflow version

Which version of tensorflow your code ran? I ran it under version 1.14.0, but it has some traceback.

TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.

i see the error when i trained
trainA = trainA.apply(shuffle_and_repeat(self.dataset_num)).apply(map_and_batch(Image_Data_Class.image_processing, self.batch_size, num_parallel_batches=16, drop_remainder=True)).apply(prefetch_to_device(gpu_device, None)) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1109, in apply dataset = transformation_func(self) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/contrib/data/python/ops/batching.py", line 828, in _apply_fn num_parallel_calls, drop_remainder) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/contrib/data/python/ops/batching.py", line 740, in __init__ super(_MapAndBatchDataset, self).__init__(input_dataset, map_func) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 2198, in __init__ map_func, "Dataset.map()", input_dataset) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1454, in __init__ self._function.add_to_graph(ops.get_default_graph()) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 481, in add_to_graph self._create_definition_if_needed() File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 337, in _create_definition_if_needed self._create_definition_if_needed_impl() File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 346, in _create_definition_if_needed_impl self._capture_by_value, self._caller_device) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 863, in func_graph_from_py_func outputs = func(*func_graph.inputs) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1392, in tf_data_structured_function_wrapper ret = func(*nested_args) File "/opt/python/UGATIT/utils.py", line 15, in image_processing x = tf.read_file(filename) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/ops/gen_io_ops.py", line 528, in read_file "ReadFile", filename=filename, name=name) File "/home/terry/.local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 533, in _apply_op_helper (prefix, dtypes.as_dtype(input_arg.type).name)) TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.

the usage was the following:python main.py --dataset mydataset --light true

checkpoint InvalidArgumentError

I've tried your checkpoint but an err occurred:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]
[[{{node save/Assign_105}}]]

err, "a mismatch between the current graph and the graph")

tensorflow.python.framework.errors_impl.InvalidArgumentError: Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and
the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:
Assign requires shapes of both tensors to match. lhs shape= [256,256] rhs shape= [1048576,256]

what should I do?
thx!

How to use?

I'd like to know the detailed steps to use it. I don't know much about python...

Pretrained model?

Do you have any pretrained model weights? I currently can't train something like this so was curious if you had anything pretrained available.

UGATIT 预训练模型和数据集百度云下载,为方便谷歌硬盘无法使用的人,不懂的可加Q群857449786 注明UGATIT 共同研究 ,谢谢!

UGATIT 预训练模型和数据集百度云下载,为方便谷歌硬盘无法使用的人,不懂的可加Q群857449786 注明UGATIT 共同研究 ,谢谢!

官方已经开放的数据集和模型在google硬盘,比较大,可能无法下载,我分卷压缩了一下,分享到百度云,方便大家下载。
Pretrained model: selfie2anime checkpoint (100 epoch)
Dataset:selfie2anime dataset

目前win10下的测试训练自己的数据问题,都可以 ,UGATIT 预训练模型和数据集百度云下载,为方便谷歌硬盘无法使用的人,不懂的可加Q群857449786 注明UGATIT 共同研究 ,谢谢!

链接:https://pan.baidu.com/s/1dP1mXuU-rA9dPvFe8YS8jQ
提取码:k6rc

已添加checkpoint文件

下载后合并01.02.03为一个文件。
目录结构如下:
B:\Tensorflow\UGATIT\checkpoint\UGATIT_selfie2anime_lsgan_4resblock_6dis_1_1_10_10_1000_sn_smoothing
QQ截图20190819095152
QQ截图20190819095233

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.