Giter Club home page Giter Club logo

time-travel-rephotography.github.io's Introduction

[SIGGRAPH Asia 2021] Time-Travel Rephotography

Open in Colab

Many historical people were only ever captured by old, faded, black and white photos, that are distorted due to the limitations of early cameras and the passage of time. This paper simulates traveling back in time with a modern camera to rephotograph famous subjects. Unlike conventional image restoration filters which apply independent operations like denoising, colorization, and superresolution, we leverage the StyleGAN2 framework to project old photos into the space of modern high-resolution photos, achieving all of these effects in a unified framework. A unique challenge with this approach is retaining the identity and pose of the subject in the original photo, while discarding the many artifacts frequently seen in low-quality antique photos. Our comparisons to current state-of-the-art restoration filters show significant improvements and compelling results for a variety of important historical people.

Time-Travel Rephotography
Xuan Luo, Xuaner Zhang, Paul Yoo, Ricardo Martin-Brualla, Jason Lawrence, and Steven M. Seitz
In SIGGRAPH Asia 2021.

Demo

We provide an easy-to-get-started demo using Google Colab! The Colab will allow you to try our method on the sample Abraham Lincoln photo or your own photos using Cloud GPUs on Google Colab.

Open in Colab

Or you can run our method on your own machine following the instructions below.

Prerequisite

  • Pull third-party packages.
    git submodule update --init --recursive
    
  • Install python packages.
    conda create --name rephotography python=3.8.5
    conda activate rephotography
    conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch
    pip install -r requirements.txt
    

Quick Start

Run our method on the example photo of Abraham Lincoln.

  • Download models:
    ./scripts/download_checkpoints.sh
    
  • Run:
    ./scripts/run.sh b "dataset/Abraham Lincoln_01.png" 0.75 
    
  • You can inspect the optimization process by
    tensorboard --logdir "log/Abraham Lincoln_01"
    
  • You can find your results as below.
    results/
      Abraham Lincoln_01/       # intermediate outputs for histogram matching and face parsing
      Abraham Lincoln_01_b.png  # the input after matching the histogram of the sibling image
      Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750)-init.png        # the sibling image
      Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750)-init.pt         # the sibing latent codes and initialized noise maps
      Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750).png             # the output result
      Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750).pt              # the final optimized latent codes and noise maps
      Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750)-rand.png        # the result with the final latent codes but random noise maps
    
    

Run on Your Own Image

  • Crop and align the head regions of your images:

    python -m tools.data.align_images <input_raw_image_dir> <aligned_image_dir>
    
  • Run:

    ./scripts/run.sh <spectral_sensitivity> <input_image_path> <blur_radius>
    

    The spectral_sensitivity can be b (blue-sensitive), gb (orthochromatic), or g (panchromatic). You can roughly estimate the spectral_sensitivity of your photo as follows. Use the blue-sensitive model for photos before 1873, manually select between blue-sensitive and orthochromatic for images from 1873 to 1906 and among all models for photos taken afterwards.

    The blur_radius is the estimated gaussian blur radius in pixels if the input photot is resized to 1024x1024.

Historical Wiki Face Dataset

Path Size Description
Historical Wiki Face Dataset.zip 148 MB Images
spectral_sensitivity.json 6 KB Spectral sensitivity (b, gb, or g).
blur_radius.json 6 KB Blur radius in pixels

The jsons are dictionares that map input names to the corresponding spectral sensitivity or blur radius. Due to copyright constraints, Historical Wiki Face Dataset.zip contains all images in the Historical Wiki Face Dataset that were used in our user study except the photo of Mao Zedong. You can download it separately and crop it as above.

Citation

If you find our code useful, please consider citing our paper:

@article{Luo-Rephotography-2021,
  author    = {Luo, Xuan and Zhang, Xuaner and Yoo, Paul and Martin-Brualla, Ricardo and Lawrence, Jason and Seitz, Steven M.},
  title     = {Time-Travel Rephotography},
  journal = {ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2021)},
  publisher = {ACM New York, NY, USA},
  volume = {40},
  number = {6},
  articleno = {213},
  doi = {https://doi.org/10.1145/3478513.3480485},
  year = {2021},
  month = {12}
}

License

This work is licensed under MIT License. See LICENSE for details.

Codes for the StyleGAN2 model come from https://github.com/rosinality/stylegan2-pytorch.

Acknowledgments

We thank Nick Brandreth for capturing the dry plate photos. We thank Bo Zhang, Qingnan Fan, Roy Or-El, Aleksander Holynski and Keunhong Park for insightful advice. We thank Xiaojie Feng for his contributions on the colab demo.

time-travel-rephotography.github.io's People

Contributors

fengxiaojie-coder avatar roxanneluo 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

time-travel-rephotography.github.io's Issues

Colab demo no longer working

I connect successfully in Colab and run the first two actions, but on the third (download models) an error occurs which has been persistent for the past couple of weeks, making the demo of no use. Is there a way around this?
317584381_922312662088073_2520819194539939960_n

Optimization phase is unstable and returns nan loss values

Hi

First and foremost, thank you for making this awesome project public for us to play with, i greatly appreciate it.

So I am running this project locally on an Nvidia ampere card using CUDA 11.3.

Everything seems to work, but 9 out of 10 Pictures produce unstable optimization runs.

Also some pictures need multiple runs, or they crash. So it is a big hit or miss, if a picture will process.

By crash I mean the optimization loss values all become "nan". Example:
Optimizing 64x64
face: nan; eye: nan; contextual: nan; color_transfer: nan; noise: nan: 100%| 750/750 [08:49<00:00, 1.42it/s]

lossvalues
lossvalues2

As you can see in the above picture, the optimizing runs for a while, then the loss values turn into "nan's".

What can I do to troubleshoot this?

My environment:
python 3.8.5
pytorch: 1.10.1 py3.8_cuda11.3_cudnn8_0
torchvision: 0.11.2 py38_cu113
cudatoolkit: 11.3.1

Black Image Output

The colab works perfectly fine but when I try to run the code locally, the final result is always a black image.

Everything seems to be working as intended. The face, contextual, noise and etc all show up correctly and begin to process. You can even visualize this data on tensorboard. However after a few steps -- it's random.. sometime 10 steps sometimes 20 steps .. all the data gets changed to "nan" and as a result the output goes black.

Not sure what is going wrong. Any help? Happens the same with any image and any model/checkpoint. Any help would be greatly appreciated. @roxanneluo

What causes the " UnpicklingError: Invalid Load Key, '<' " error?

I've just uploaded the missing files and integrated them to the colab project so that it is no longer necessary to download each file manually and upload them one by one, here is the project link: https://colab.research.google.com/drive/1j2_gdzgyW-VapI4GTG48DAxgeYhJUdgb

Sadly, when I try to execute the last step I get this error:

Video.mp4

I hope there is a solution to this problem, I love this project, it would help me a lot in restoring old photos of my relatives.

Black image result(non-errors)

followed all steps successfully , the result is a black screen
I have noticed something wrong at the output at stage 1
(3 steps of 100% result , the first one was 0%)

image1

Note: the input is good and has been passed the test seccussfully.

every single step before that was a success , the model installing , also the dedependencies part and so on.
I will be thankfull if you would solve my problem
@roxanneluo

Huggingface Spaces

Hi, would you be interested in sharing a web demo on Huggingface Spaces for Time-Travel-Rephotography?

It would make this model more accessible as it would allow people to try out the model directly from the browser. Some other recent machine learning model repos have set up Spaces for easy access:

github: https://github.com/salesforce/BLIP
Spaces: https://huggingface.co/spaces/akhaliq/BLIP

github: https://github.com/facebookresearch/omnivore
Spaces: https://huggingface.co/spaces/akhaliq/omnivore

Spaces is completely free, and I can help setup a Gradio Space. Here are some getting started instructions if you'd prefer to do it yourself: https://huggingface.co/blog/gradio-spaces

Is there a way to modify output image size or crop settings?

First of all, thank you so much for open sourcing this for us to play with. It's one of the neatest things I've seen with AI.

I'm wondering if there is a way to get a higher resolution output than the 1024x1024 default? I don't see any way going through the code in Colab. It seems normalized regardless of input image size.

Second, can the crop effect also be a parameterized setting? I'm guessing that's a limitation set by StyleGAN, but it would be nice if it didn't have to crop in so tightly.

Thanks.

Not producing any results

Not working at the end, in run section, because of "projector import" problem, it is not functioning properly.
Screenshot 2022-02-05 at 15 21 05

problem executing code

### Are there solutions to make the code work?
These are the errors that made the program not work:

The autoreload extension is already loaded. To reload it, use:
%reload_ext autoreload
------------ Parameters -------------
camera_lr: 0.01
ckpt: checkpoint/stylegan2-ffhq-config-f.pt
coarse_min: 32
color_transfer: 10000000000.0
contextual: 0.1
cx_layers: ['relu3_4', 'relu2_2', 'relu1_2']
e4e_ckpt: checkpoint/e4e_ffhq_encode.pt
e4e_size: 256
encoder_ckpt: checkpoint/encoder/checkpoint_b.pt
encoder_name: b
encoder_size: 256
eye: 0.1
gaussian: 0.75
generator_size: 1024
init_latent: None
input: dataset/أنا1_01.png
log_dir: log/
log_freq: 10
log_visual_freq: 1000
lr: 0.1
mix_layer_range: [10, 18]
noise_ramp: 0.75
noise_regularize: 50000.0
noise_strength: 0.0
rand_seed: None
recon_size: 256
results_dir: results/
spectral_sensitivity: b
vgg: 1
vggface: 0.3
wplus_step: [250, 750]

b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750)

FileNotFoundError Traceback (most recent call last)
in ()
19 results_dir="results/"
20 ))
---> 21 main(args)

5 frames
/content/Time-Travel-Rephotography/projector.py in main(args)
113 # initialize
114 with torch.no_grad():
--> 115 init = Initializer(args).to(device)
116 latent_init = init(imgs_orig)
117

/content/Time-Travel-Rephotography/tools/initialize.py in init(self, args)
114
115 assert args.encoder_size is not None
--> 116 self.color_encoder = create_color_encoder(args)
117 self.color_encoder.eval()
118 self.color_encoder_size = args.encoder_size

/content/Time-Travel-Rephotography/tools/initialize.py in create_color_encoder(args)
73 def create_color_encoder(args: Namespace):
74 encoder = Encoder(1, args.encoder_size, 512)
---> 75 ckpt = torch.load(args.encoder_ckpt)
76 encoder.load_state_dict(ckpt["model"])
77 return encoder

/usr/local/lib/python3.7/dist-packages/torch/serialization.py in load(f, map_location, pickle_module, **pickle_load_args)
592 pickle_load_args['encoding'] = 'utf-8'
593
--> 594 with _open_file_like(f, 'rb') as opened_file:
595 if _is_zipfile(opened_file):
596 # The zipfile reader is going to advance the current file position.

/usr/local/lib/python3.7/dist-packages/torch/serialization.py in _open_file_like(name_or_buffer, mode)
228 def _open_file_like(name_or_buffer, mode):
229 if _is_path(name_or_buffer):
--> 230 return _open_file(name_or_buffer, mode)
231 else:
232 if 'w' in mode:

/usr/local/lib/python3.7/dist-packages/torch/serialization.py in init(self, name, mode)
209 class _open_file(_opener):
210 def init(self, name, mode):
--> 211 super(_open_file, self).init(open(name, mode))
212
213 def exit(self, *args):

FileNotFoundError: [Errno 2] No such file or directory: 'checkpoint/encoder/checkpoint_b.pt'

Colab execution issue

Thanks' very much for this code release.

I get these errors running the Colab notebook at the end.

`FileNotFoundError Traceback (most recent call last)
in ()
19 results_dir="results/"
20 ))
---> 21 main(args)

5 frames
/usr/local/lib/python3.7/dist-packages/torch/serialization.py in init(self, name, mode)
209 class _open_file(_opener):
210 def init(self, name, mode):
--> 211 super(_open_file, self).init(open(name, mode))
212
213 def exit(self, *args):

FileNotFoundError: [Errno 2] No such file or directory: 'checkpoint/encoder/checkpoint_b.pt'`

Colab Assertion Failed Issue

I've created my own copy of the colab project and have managed to successfully implement it up until the final stage. I get this error when running the program using the sample image of Lincoln:

`/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3635: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.
"See the documentation of nn.Upsample for details.".format(mode)

python test.py /content/Time-Travel-Rephotography/results/Abraham Lincoln_01/input_sibling /content/Time-Travel-Rephotography/results/Abraham Lincoln_01/skin_mask/face_parsing

0it [00:00, ?it/s]


error Traceback (most recent call last)

in ()
19 results_dir="results/"
20 ))
---> 21 main(args)

2 frames

/content/Time-Travel-Rephotography/tools/match_histogram.py in main(args)
144
145 mask_A = cv2.resize(cv2.imread(args.ref_mask, 0), A.shape[:2][::-1],
--> 146 interpolation=cv2.INTER_NEAREST) > 0 if args.ref_mask else None
147 mask_B = cv2.resize(cv2.imread(args.src_mask, 0), B.shape[:2][::-1],
148 interpolation=cv2.INTER_NEAREST) > 0 if args.src_mask else None

error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/resize.cpp:3720: error: (-215:Assertion failed) !ssize.empty() in function 'resize''

i have this error

in colab

error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/resize.cpp:3720: error: (-215:Assertion failed) !ssize.empty() in function 'resize'

Local instructions are incorrect

There are a few issues I've encountered.

./scripts/download_checkpoint.sh - typo in path

Additionally I have issues when making:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64/link.exe" fused_bias_act.o fused_bias_act_kernel.cuda.o /nologo /DLL c10.lib c10_cuda.lib torch_cpu.lib torch_cuda.lib -INCLUDE:?warp_size@cuda@at@@yahxz torch.lib torch_python.lib /LIBPATH:C:\Users\PaulCzaban\Anaconda3\envs\rephotography\libs /LIBPATH:C:\Users\PaulCzaban\Anaconda3\envs\rephotography\lib\site-packages\torch\lib "/LIBPATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib/x64" cudart.lib /out:fused.pyd
Creating library fused.lib and object fused.exp
MSVCRT.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __enclave_config
fused.pyd : fatal error LNK1120: 1 unresolved externals
ninja: build stopped: subcommand failed.

What are the VS requirements for this?

Training code

Hi. First of all, thank you for your wonderful project. I would like to ask, do you plan to publish the training code? And also in your paper there is not much information about the training process. Could you give more details about it?

Colab Error: "TypeError: make_grid() got an unexpected keyword argument 'range'."

@fengxiaojie-coder @roxanneluo

Dear "Time Travel Rephotography" Development Team,

I hope you are well. I want to start by expressing my gratitude and admiration for the incredible work you have done on this project. The ability to restore old images to high quality using artificial intelligence has truly impressed me, and I have achieved remarkable results thanks to your work.

Until recently, I had not encountered any issues when using the project on Google Colab. However, I have recently come across an error that is preventing me from generating images. The error appears in the last cell of the notebook and is displayed as "TypeError: make_grid() got an unexpected keyword argument 'range'." This problem has arisen unexpectedly and is hindering my ability to continue using this valuable tool.

As an enthusiastic user of "Time Travel Rephotography," I would like to request your assistance in resolving this error. I am confident that other users may also be facing this issue, and restoring the functionality of the tool would be of great value to all of us.

I hope you can investigate and address this error as soon as possible. Your project has been a source of inspiration and utility for many, and I am sure that with your expertise and dedication, you can restore its normal operation.

I appreciate your attention to this matter and look forward to "Time Travel Rephotography" returning to its proper functioning. Please keep me informed of any updates or solutions.

Thank you in advance for your ongoing work and for providing us with this amazing tool!

I have attached a screenshot of the error for your reference.

screenshot

Huggingface error

Traceback (most recent call last):
File "app.py", line 79, in
main()
File "app.py", line 56, in main
torch.cuda.init()
File "/home/user/.local/lib/python3.8/site-packages/torch/cuda/init.py", line 198, in init
_lazy_init()
File "/home/user/.local/lib/python3.8/site-packages/torch/cuda/init.py", line 229, in _lazy_init
torch._C._cuda_init()
RuntimeError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx

No module named 'projector'

Hi,
i'm tryna to use the the colab demo but when i arrive at the "Run" part i get this error:

ModuleNotFoundError Traceback (most recent call last)

in
3
4 from argparse import Namespace
----> 5 from projector import (
6 ProjectorArguments,
7 main,

ModuleNotFoundError: No module named 'projector'

download_checkpoints.sh - Permission denied

Greetings, when trying to download models, the Colab swears at all links that there is no access and it would be better to change the file access parameters.. How to solve this problem?
Error

Docker image

It would be great to provide a Docker file so people can run this code easily without having to install all of the AI frameworks that were used for training the model.

Cannot run example cuda load errore

Hello, I installed all necessary lib following instruction but cannot proceed having this error

++ path='dataset/Abraham Lincoln_01.png'
++ blur_radius=0.75
+++ dirname 'dataset/Abraham Lincoln_01.png'
++ list=dataset
+++ basename dataset
++ list=dataset
++ '[' b == b ']'
++ FLAGS=(--spectral_sensitivity b --encoder_ckpt checkpoint/encoder/checkpoint_b.pt)
++ name='dataset/Abraham Lincoln_01'
++ name='Abraham Lincoln_01'
++ echo 'Abraham Lincoln_01'
Abraham Lincoln_01
++ python projector.py 'dataset/Abraham Lincoln_01.png' --gaussian 0.75 --log_dir log/ --results_dir results/ --spectral_sensitivity b --encoder_ckpt checkpoint/encoder/checkpoint_b.pt
2023-09-06 22:04:48.282080: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.
2023-09-06 22:04:48.885676: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.
2023-09-06 22:04:48.888682: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-09-06 22:04:50.881629: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
/home/vboxuser/miniconda3/envs/rephotography/lib/python3.8/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: '/home/vboxuser/miniconda3/envs/rephotography/lib/python3.8/site-packages/torchvision/image.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKSs'If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source?
  warn(
No CUDA runtime is found, using CUDA_HOME='/home/miniconda3/envs/rephotography'
Traceback (most recent call last):
  File "projector.py", line 25, in <module>
    from model import Generator
  File "/home/vboxuser/Documents/Time-Travel-Rephotography.github.io/model.py", line 12, in <module>
    from op import FusedLeakyReLU, fused_leaky_relu, upfirdn2d
  File "/home/vboxuser/Documents/Time-Travel-Rephotography.github.io/op/__init__.py", line 1, in <module>
    from .fused_act import FusedLeakyReLU, fused_leaky_relu
  File "/home/vboxuser/Documents/Time-Travel-Rephotography.github.io/op/fused_act.py", line 10, in <module>
    fused = load(
  File "/home/vboxuser/miniconda3/envs/rephotography/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1284, in load
    return _jit_compile(
  File "/home/vboxuser/miniconda3/envs/rephotography/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1509, in _jit_compile
    _write_ninja_file_and_build_library(
  File "/home/vboxuser/miniconda3/envs/rephotography/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1611, in _write_ninja_file_and_build_library
    _write_ninja_file_to_build_library(
  File "/home/vboxuser/miniconda3/envs/rephotography/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 2007, in _write_ninja_file_to_build_library
    cuda_flags = common_cflags + COMMON_NVCC_FLAGS + _get_cuda_arch_flags()
  File "/home/vboxuser/miniconda3/envs/rephotography/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1773, in _get_cuda_arch_flags
    arch_list[-1] += '+PTX'
IndexError: list index out of range

Where conda install CUDA? Wich is the correct CUDA_HOME?

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.