wchen342 / sketchygan Goto Github PK
View Code? Open in Web Editor NEWCode for paper "SketchyGAN: Towards Diverse and Realistic Sketch to Image Synthesis"
License: MIT License
Code for paper "SketchyGAN: Towards Diverse and Realistic Sketch to Image Synthesis"
License: MIT License
Hi Dr. Chen. I understand that your OneDrive business account has expired and it's hard to find a place to hold such a large dataset. However, do you think it is possible to share a subset of the data? Thank you very much in advance!
I am using the provided flickr_crawler.py to retrieve images. For each category ~100,000 images are retrieved. But flickr_filter.py sometimes filters out all the images in a category. Is there any workaround to this? Thanks!
Hi,
The following imports are not working.
from slim.nets import nets_factory
from slim.preprocessing import preprocessing_factory
I copied the library folder also from the mentioned source . But you also see, the slim library doesn't contain following modules
nets.nets_factory
preprocessing .preprocessing_factory
Could anyone please suggest how to resolve this issue.
2018-11-09 20:50:02.033559: W tensorflow/core/kernels/queue_base.cc:277] _8_input_producer_2: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033665: W tensorflow/core/kernels/queue_base.cc:277] _3_input_producer_1: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033703: W tensorflow/core/kernels/queue_base.cc:277] _0_input_producer: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033741: W tensorflow/core/kernels/queue_base.cc:277] _5_shuffle_batch_1/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033824: W tensorflow/core/kernels/queue_base.cc:277] _6_shuffle_batch_2/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033841: W tensorflow/core/kernels/queue_base.cc:277] _6_shuffle_batch_2/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033853: W tensorflow/core/kernels/queue_base.cc:277] _6_shuffle_batch_2/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033878: W tensorflow/core/kernels/queue_base.cc:277] _6_shuffle_batch_2/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033908: W tensorflow/core/kernels/queue_base.cc:277] _5_shuffle_batch_1/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033936: W tensorflow/core/kernels/queue_base.cc:277] _5_shuffle_batch_1/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033948: W tensorflow/core/kernels/queue_base.cc:277] _5_shuffle_batch_1/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.033980: W tensorflow/core/kernels/queue_base.cc:277] _1_shuffle_batch/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.034024: W tensorflow/core/kernels/queue_base.cc:277] _1_shuffle_batch/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.034039: W tensorflow/core/kernels/queue_base.cc:277] _1_shuffle_batch/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
2018-11-09 20:50:02.034066: W tensorflow/core/kernels/queue_base.cc:277] _1_shuffle_batch/random_shuffle_queue: Skipping cancelled enqueue attempt with queue not closed
Traceback (most recent call last):
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1322, in _do_call
INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors_impl.CancelledError'>, Enqueue operation was cancelled
[[Node: input_producer/input_producer_EnqueueMany = QueueEnqueueManyV2[Tcomponents=[DT_STRING], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/device:CPU:0"](input_producer, input_producer/RandomShuffle)]]
return fn(*args)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1307, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1409, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [2,1024] vs. [0,1024]
[[Node: GPU_1/generator_1/fully_connected/batchnorm/mul_1 = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:1"](GPU_1/generator_1/fully_connected/BiasAdd, GPU_1/generator_1/fully_connected/batchnorm/mul)]]
[[Node: global_norm_151/L2Loss_9/_1098 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:1", send_device_incarnation=1, tensor_name="edge_37370_global_norm_151/L2Loss_9", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/main_single.py", line 186, in
status, appendix = launch_training(**d_params)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/main_single.py", line 100, in launch_training
status = train_module.train(**kwargs)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/train_single.py", line 219, in train
run_metadata=run_metadata)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 900, in run
run_metadata_ptr)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1135, in _run
feed_dict_tensor, options, run_metadata)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1316, in _do_run
run_metadata)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1335, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [2,1024] vs. [0,1024]
[[Node: GPU_1/generator_1/fully_connected/batchnorm/mul_1 = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:1"](GPU_1/generator_1/fully_connected/BiasAdd, GPU_1/generator_1/fully_connected/batchnorm/mul)]]
[[Node: global_norm_151/L2Loss_9/_1098 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:1", send_device_incarnation=1, tensor_name="edge_37370_global_norm_151/L2Loss_9", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]
Caused by op 'GPU_1/generator_1/fully_connected/batchnorm/mul_1', defined at:
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/main_single.py", line 186, in
status, appendix = launch_training(**d_params)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/main_single.py", line 100, in launch_training
status = train_module.train(**kwargs)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/train_single.py", line 146, in train
optimizer=optimizer)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/graph_single.py", line 153, in build_multi_tower_graph
optim_d=optim_d)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/graph_single.py", line 245, in build_single_graph
output_channel=3)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/graph_single.py", line 226, in transfer
scope_name=generator_scope)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/models_mru.py", line 207, in generator_skip
normalizer_params=normalizer_params_g)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/mru.py", line 87, in fully_connected
linear_out = normalizer_fn(linear_out, activation_fn=None, **normalizer_params)
File "/home/xuqi/PycharmProjects/sketchyGAN/SketchyGAN/src_single/models_mru.py", line 36, in batchnorm
1e-5)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/ops/nn_impl.py", line 835, in batch_normalization
return x * math_ops.cast(inv, x.dtype) + math_ops.cast(
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/ops/math_ops.py", line 847, in binary_op_wrapper
return func(x, y, name=name)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/ops/math_ops.py", line 1091, in _mul_dispatch
return gen_math_ops.mul(x, y, name=name)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/ops/gen_math_ops.py", line 4759, in mul
"Mul", x=x, y=y, name=name)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", line 3414, in create_op
op_def=op_def)
File "/home/xuqi/anaconda2/envs/py34/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", line 1740, in init
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): Incompatible shapes: [2,1024] vs. [0,1024]
[[Node: GPU_1/generator_1/fully_connected/batchnorm/mul_1 = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:1"](GPU_1/generator_1/fully_connected/BiasAdd, GPU_1/generator_1/fully_connected/batchnorm/mul)]]
[[Node: global_norm_151/L2Loss_9/_1098 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:1", send_device_incarnation=1, tensor_name="edge_37370_global_norm_151/L2Loss_9", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]
I really dont what's wrong with that. I would appreciate if anyone could help me.
After trying a lot of possible ways, I am really down. By the way, my tensorflow's version is 1.9.
If possible, can you share me with your pre-trained model? Thanks a lot!
hi,Dr.chen,
there is something wrong with the crawling process. So i'm wondering whether you could share the Flickr images(original) with me? I'd appreciate your help.
Hi, Dr. Chen,
I myself have some pairs of sketches and images files, how could I generate the .tfrecord file myself and use your code to run? Thank you
I've been trying crawling images by running flickr_crawler.py. But it occurs to have something wrong with it.
2018-10-31 18:16:19,205 - ERROR - parser - Exception caught when fetching page https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=8dbdbcb0d6a 5820f28b4e7cdd24ab2c0&format=json&nojsoncallback=1&text=car&sort=relevance&per_pag e=50&min_upload_date=2017-11-20&max_upload_date=2018-04-21&page=1, error: HTTPSConnectionPool(host='api.flickr.com', port=443): Max retries exceeded with url: /serv ices/rest/?method=flickr.photos.search&api_key=8dbdbcb0d6a5820f28b4e7cdd24ab2c0&fo rmat=json&nojsoncallback=1&text=car&sort=relevance&per_page=50&min_upload_date=201 7-11-20&max_upload_date=2018-04-21&page=1 (Caused by NewConnectionError('<requests .packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe81b465f60>: Failed to establish a new connection: [Errno 111] Connection refused',)), remaining retry times: 2
So i set a proxy pool to deal with it.But it failed with the same error.
I was wondering whether you have met such a problem and how do you deal with it?
looking forward to your reply.thanks a lot.
will this code work with Flickr dataset which is available in kaggle?
i meet this question,and i can not solved it. i hope get your help.thank you
Hello, I'm trying to train the model. However it is hard to download the entire dataset and perform training because of the hardware constrain. Meanwhile, when downloading the dataset, there are errors in the zip file.
We select all files and download them, unfortunately there are errors from the OneDrive.
Could you please share the pre-train model? It will be so thankful.
Hello, I do not find the epoch setting but just the iteration time in the command line. So what is the difference between them? How do I set the epoch times?
Dear, Dr.wchen342
It is fine with image size 64x64 pixels but the GPU memory is not enough when i tried to run it with 256x256 size images. My GPU is GTX 1080 with 8GB. What is your GPU's specification you used to run with 256x256 size images?
Thanks,
I'm running this model on a computer with TITAN X (Pascal), and my training settings is the same as original. But it takes ~30 seconds/100 iters. Is this running time normal? Here's my output:
Now at iteration 0. Elapsed time: infs. Average time: infs/iter
Now at iteration 100. Elapsed time: 173.14804s. Average time: 1.73148s/iter
Now at iteration 200. Elapsed time: 32.95055s. Average time: 0.32951s/iter
Now at iteration 300. Elapsed time: 33.15841s. Average time: 0.33158s/iter
Now at iteration 400. Elapsed time: 32.86847s. Average time: 0.32868s/iter
Now at iteration 500. Elapsed time: 33.54591s. Average time: 0.33546s/iter
Now at iteration 600. Elapsed time: 33.57379s. Average time: 0.33574s/iter
Now at iteration 700. Elapsed time: 33.70091s. Average time: 0.33701s/iter
Now at iteration 800. Elapsed time: 33.32237s. Average time: 0.33322s/iter
Now at iteration 900. Elapsed time: 33.29158s. Average time: 0.33292s/iter
Thank you!
I'm a newcomer to deeplearning and also trying to do Sketch2image work. Your project has inspired me.
Extracting the appropriate edge from the existing image as a dataset was very difficult for me until I discovered your dataset.
But I was just trying to train on the class "flowers" which I did not find in your tfrecord file. Could you please provide such data as "flowers"?
Hi,Dr chen:
i am a freshman in cv, it's my first work in this field. And i really appreciate you work in this paper
when i click the link of the augmented tfrecord dataset, it turns out to be "404 file not found". since the dataset was so large that i always failed in downloading it. so could you please upload a new download address or provide a new download method.
thanks a lot
As I can see from the paper,
Since we are only interested in sketch to image synthesis, all models are tested on the test split of Sketchy.
How to test the model on new sketch?
Dear wchen342,
Currently i want to add one more class in dataset. I tried to run the script in "data_processing
" folder to created data again but cant.
Could you update the instruction for creating and processing the dataset in this project ?
Thanks
i am getting a error of " string_input_producer requires a non-null input tensor" can you help me please
Hi Dr. Chen. I understand that your OneDrive business account has expired and it's hard to find a place to hold such a large dataset. Can you upload a model weight which could test on the Sketchy dataset. Very appreciate it if you can help me. I want tansfer your model to my own dataset :)
Which version of tensorflow ?I use version of 1.12,but use GPU found a err of"OpKernel was found, but attributes didn't match)
. Registered: device='CPU'" or How to use GPU
If possible, I want to try the old model. And I will change my tensorflow and other libraries' version to fit it.
Thank you very much for your kindness and help.
Thanks for your work. My question is about the Flickr images,
Is it possible to run the code without the Flickr images, because I can only find the sketchy database you shared, and I don't know how to get paired Flickr images.
Hi, Could you please check the tfrecord's link? it seems it is died and returned "404 error"
Thanks
If it's a 50-class index, what are the keywords of the 50-class index?
Hello everyone. When using tensorflow-gpu 1.4.0 to run this code, this problem has occurred and I don't know why. Could anyone help me? Thank you. The output of tensorflow is as below.
/data8T/liuyuqing/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6
return f(*args, **kwds)
/data8T/liuyuqing/anaconda3/lib/python3.6/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
Launching new train: 2018-04-15-20-05-40
paired file sketchy num: 2
paired file flickr num: 2
2018-04-16 04:05:42.564590: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 AVX512F FMA
2018-04-16 04:05:42.915202: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 0 with properties:
name: TITAN Xp major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:17:00.0
totalMemory: 11.90GiB freeMemory: 2.35GiB
2018-04-16 04:05:43.220134: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 1 with properties:
name: TITAN Xp major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:65:00.0
totalMemory: 11.90GiB freeMemory: 7.94MiB
2018-04-16 04:05:43.220478: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Device peer to peer matrix
2018-04-16 04:05:43.220511: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1051] DMA: 0 1
2018-04-16 04:05:43.220525: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1061] 0: Y Y
2018-04-16 04:05:43.220535: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1061] 1: Y Y
2018-04-16 04:05:43.220548: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: TITAN Xp, pci bus id: 0000:17:00.0, compute capability: 6.1)
2018-04-16 04:05:43.220557: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:1) -> (device: 1, name: TITAN Xp, pci bus id: 0000:65:00.0, compute capability: 6.1)
Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: TITAN Xp, pci bus id: 0000:17:00.0, compute capability: 6.1
/job:localhost/replica:0/task:0/device:GPU:1 -> device: 1, name: TITAN Xp, pci bus id: 0000:65:00.0, compute capability: 6.1
2018-04-16 04:05:43.228850: I tensorflow/core/common_runtime/direct_session.cc:299] Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: TITAN Xp, pci bus id: 0000:17:00.0, compute capability: 6.1
/job:localhost/replica:0/task:0/device:GPU:1 -> device: 1, name: TITAN Xp, pci bus id: 0000:65:00.0, compute capability: 6.1
Iteration starts from: 0
2018-04-16 04:05:44.727512: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: TITAN Xp, pci bus id: 0000:17:00.0, compute capability: 6.1)
2018-04-16 04:05:44.727680: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:1) -> (device: 1, name: TITAN Xp, pci bus id: 0000:65:00.0, compute capability: 6.1)
Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: TITAN Xp, pci bus id: 0000:17:00.0, compute capability: 6.1
/job:localhost/replica:0/task:0/device:GPU:1 -> device: 1, name: TITAN Xp, pci bus id: 0000:65:00.0, compute capability: 6.1
2018-04-16 04:05:44.728818: I tensorflow/core/common_runtime/direct_session.cc:299] Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: TITAN Xp, pci bus id: 0000:17:00.0, compute capability: 6.1
/job:localhost/replica:0/task:0/device:GPU:1 -> device: 1, name: TITAN Xp, pci bus id: 0000:65:00.0, compute capability: 6.1
Traceback (most recent call last):
File "main_single.py", line 185, in
status, appendix = launch_training(**d_params)
File "main_single.py", line 100, in launch_training
status = train_module.train(**kwargs)
File "./src_single/train_single.py", line 142, in train
optimizer=optimizer)
File "./src_single/graph_single.py", line 199, in build_multi_tower_graph
global_norm_clipped=global_grad_norm_G_clipped, appendix='_G')
File "./src_single/graph_single.py", line 641, in optimize
clip_ops.global_norm(list(zip(*gradients))[0]))
IndexError: list index out of range
Hi, all. When training the data, I've met a problem about tensor's dimensions. It says the dimensions of tensors are not matched. The info of error is shown in the picture.
Could anyone help to solve this problem? Thank you .
By the way, my tensorflow's version is 1.7. I choose data of 4 labels for training, and the setting of csv file is shown in the attached picture.
Thanks.
Hi, when I run your test code, this error came out
The .json file generated by running the code is:
But in one of other issues, your provided .json file is
They are different, I think the error may caused by the .json file, e.g., the test direction is not added? Could you help to explain how to solve this problem, please? Thank you so much.
Dear Dr. Chen. When I trained on two GPUs, there is always a problem about data_format.
InvalidArgumentError (see above for traceback): Conv2DCustomBackpropInputOp only supports NHWC.
[[node GPU_0/gradients/GPU_0/discriminator_1/Conv_1/Conv2D_grad/Conv2DBackpropInput (defined at ./src_single/graph_single.py:26) = Conv2DBackpropInput[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](GPU_0/gradients/GPU_0/discriminator_1/Conv_1/Conv2D_grad/ShapeN, GPU_0/discriminator_1/Conv_1/Reshape_1, GPU_0/gradients/GPU_0/discriminator_1/Conv_1/add_grad/tuple/control_dependency)]]
In config.py, you note that 'data_format='NCHW' should not changed. I wonder why the problem is raised? Looking forward to your apply! Thank you very much!
Dear Dr. Chen,
Thanks for the sharing for code.
I am wondering that is it possible for you to share the code for TFrecord preparation as well? It would be extremely helpful.
Many thanks!
What kind of data format is needed for testing?I'm having a lot of problems。
ValueError: Tensor("Reshape_2:0", shape=(8,), dtype=int64, device=/device:CPU:0) must be from the same graph as Tensor("generator/mru_conv_unit_t_1_layer_0/norm_activation_in/offset:0", shape=(125, 8), dtype=float32_ref).
I would be grateful if you could answer.
Hi, thank you for your excellent work. I want to use MRU in other structures, but I found multiple versions of MRU in the code, and it is difficult to move the MRU of the code to other structures. Can I reproduce one according to the structure of MRU in your paper
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.