Comments (13)
i'm not crazy about the idea of the latter option (retaining 20-30 iterations of information), so i'm thinking about the former -- evaluating delta-CF for starting and modified combinations. so the challenge is to not add more latency to an already-time consuming process.
in this thought process, i'm wondering about the efficiency of a) running this code on cori
at NERSC, and b) Python parallelization. I've seen a couple articles suggesting parallelization in Python might not be as fast it seems it would be. the first article also suggests clusters can be problematic with parallelization.
with that in mind, perhaps we can get this software running on a large EC2 instance with a single EBS volume mounted to it? cluster and I/O latency should not be a problem, then. the main question is: does the software run faster on an AWS EC2 instance than it does on a 64-core NERSC supercomputer using an NFS?
from g-point-reduction.
from g-point-reduction.
i've had some difficulty today running in AWS -- i tried a sandbox in A Cloud Guru but didn't have permissions to start the instance i wanted (i chose a sandbox because i don't have a Project tag for resources yet) and my AWS workspace (but i couldn't build our RRTMGP Garand driver because of gfortran
/ifort
inconsistencies, and i could only upgrade my WS to 8 vCPUs, anyway) -- so i've tried to run the notebook locally on rd47
. i've clocked one iteration locally and one on cori
and the results are:
rd47
(8 cores)
Iteration 1
band03_coefficients_LW_g04-05_iter001.nc, Trial: 34, Cost: 92.965532, Delta-Cost: -7.0345
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 85.5336, 99.5464, 99.7354, 100.0001, 99.3912, 100.0000, 159.2603, 23.3022, 23.4239, 11.9387, 233.1549, 22.1575, 235.7753, 16.4378, 100.0000, 100.0000, 100.0000
35.120123187000004
cori
(64 cores)
Iteration 1
band13_coefficients_LW_g15-16_iter001.nc, Trial: 195, Cost: 100.000000, Delta-Cost: 0.0000
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000, 100.0000
8.277178223
so that's an interesting result. we expect cori
iterations to be faster because we are using 8 times as many cores. but it's only about 4 times faster. a couple of notes:
- cost results are different because the two notebooks are using two different definitions; the
cori
run is the newest and uses the absolute value to pick the winner rd47
is only writing to local disk -- there are no network file shares being accessed- processing times are not the same as wall clock times, and the amount of time i waited was significantly more than what was printed to standard output
from g-point-reduction.
useful SO post on potentially making parallelization faster
from g-point-reduction.
Slack conversation between me and eli:
are you not already doing the algorithm for real?
it is pretty close to the real algorithm. the real algorithm might use 0.05 and 0.10 for its calculations, so the actual choice for the winner might be different than the estimate in the choosing algorithm.
10:50
might stretch it up to 0.15. so the choosing algorithm is estimating the gpoints with the most potential for success. (edited)
from g-point-reduction.
module has been modified with e65ec97. still working on some refinements (aesthetic changes) in the module and notebook.
from g-point-reduction.
checkpoint at 0fd809f. at this point, we are finding the correct preliminary solution (whatever trial minimized the delta-cost from the previous iteration), and we are at a point where the modified optimization is triggered, but we are not implementing it correctly because we still need to take future iterations into consideration.
my current work is saved in /global/u1/p/pernak18/RRTMGP/test_abs_val
on cori
. i've done a:
cp LW_cost-optimize_iter093.pickle LW_cost-optimize.pickle
and we can start from here.
from g-point-reduction.
i see two avenues implementing the modified combination for real. for a given iteration:
- setup all trials, and call
modCombine()
for all trials where their |delta-cost| > 0.1 (or whatever the threshold is), then selecting the winner amongst all of modified and unmodified trials - only apply
modCombine()
to the trial that was chosen as the preliminary winner and compare its |delta-cost| to the unmodified trials' |delta-cost|
in discussing this with eli, the answer is option 1, keeping in mind that by this point, any trials with |delta-cost| <= 0.1 have already been chosen. the idea now is to apply modCombine
to all the remaining trials.
as currently written, modCombine
scales the combination weights with unity and 2, but we can omit the former because we just look for a potential zero-crossing, then run a regression to pinpoint the crossing for a given trial. we'll do this for all remaining trials, then pick the winner by running the cost optimization with all the modified trials.
note that with the regression, we have the potential for a lot of ties, because many trials will have zero crossings.
something to remember: i've been focusing a lot on the preliminary winner trial, but it's pretty immaterial at this point. its only purpose was to bring to our attention that we are now modifying the combinations. now we're in it, and we're applying the modification to everything that is left.
from g-point-reduction.
cori scratch is a Lustre file system. not sure about /home
, but i would think it is not not. so we must get some I/O improvement by running the code on scratch
. it's faster and bigger. output from showquota
on cori
:
+-------------+------------+-------------+----------------+------------+-------------+----------------+
| File system | Space used | Space quota | Space used (%) | Inode used | Inode quota | Inode used (%) |
+-------------+------------+-------------+----------------+------------+-------------+----------------+
| home | 12.28GiB | 40.00GiB | 30.7% | 20.20K | 1.00M | 2.0% |
| cscratch | 9.39GiB | 20.00TiB | 0.0% | 14.39K | 10.00M | 0.1% |
+-------------+------------+-------------+----------------+------------+-------------+----------------+
but it's purged every 12 weeks. given that cori
is being retired in March 2023, this timeline should work for us, but we should move results to Perlmutter scratch when we have something.
from g-point-reduction.
just did a test on scratch
-- copying all the code and reference netCDFs to scratch
-- and one iteration still took ~4 minutes, so i guess I/O is not the bottleneck
from g-point-reduction.
- modified cost on single iteration
- modification should be its own callable function
- are weights updated with modified k-dist? i'm pretty sure they are
-
setupNextIter()
could be updated so that the next iteration only works with band that modified in current iteration -- this would lead to less computation, memory, and i believe disk space consumption - clean up the modified k dist files to save disk space? i'm not entirely sure this is necessary because we're not regenerating them every iteration so there is not a whole lot of redundancy
from g-point-reduction.
with 5d9d20c, the modified reduction code is ready for further extensive application
from g-point-reduction.
so i have the results for future reference...94 was the first iteration where we hit the delta-cost threshold, and the
Iteration 94
band16_coefficients_LW_g03-04_iter094.nc, Trial: 145, Cost: 100.558639, Delta-Cost: 0.1196
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.5851, 99.3616, 102.0414, 103.3084, 96.2623, 100.5032, 107.0325, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
... apply g-point combine modifications...results for 2 different weight scales ("plus" and "2plus"):
band16_coefficients_LW_g03-04_iter094.nc, Trial: 145, Cost: 100.517579, Delta-Cost: 0.5176
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.5145, 99.3939, 102.0424, 103.3090, 96.2623, 100.4943, 107.0325, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
band16_coefficients_LW_g03-04_iter094.nc, Trial: 145, Cost: 100.474838, Delta-Cost: 0.4748
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.4411, 99.4270, 102.0434, 103.3096, 96.2623, 100.4856, 107.0325, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
... eventual winner with real flux and cost calcs and the zero-crossing weight scale:
band13_coefficients_LW_g03-04_iter094_regr094.nc, Trial: 131, Cost: 100.438930, Delta-Cost: -0.0001
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.3352, 99.3638, 102.0301, 103.3029, 98.0105, 100.4869, 107.4082, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
and for iterations 95+:
Iteration 95
95
100%|██████████| 1/1 [00:00<00:00, 8.57it/s]
[-0.32434771 0.13639468 0.32384832 0.56167415 0.66986899]
band04_coefficients_LW_g10-11_iter094_2p095.nc, Trial: 50, Cost: 100.438777, Delta-Cost: -0.0003
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.3784, 99.4155, 99.7234, 105.5774, 96.2623, 100.4869, 107.2385, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band04
2plus band04
Iteration 96
96
100%|██████████| 3/3 [00:00<00:00, 8.66it/s]
[ 6.25195007 0.57674043 0.10499612 0.33882829 -0.3436686 -0.22453218
2.41889817 36.39100166 20.23010735 2.10516237 1.37441278 -0.18064123]
band08_coefficients_LW_g08-09_iter094_2p096.nc, Trial: 91, Cost: 100.438609, Delta-Cost: -0.0004
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.4892, 99.1868, 101.7158, 103.2353, 96.2696, 100.4869, 106.9543, 100.0000, 83.2970, 101.0232, 101.3445, 100.4604, 99.9510, 98.5044, 98.2134, 101.6962, 102.0847
plus band08
2plus band08
Iteration 97
97
100%|██████████| 5/5 [00:00<00:00, 5.41it/s]
[-1.79233237 -1.05745992 -1.12991275 -1.09942919 1.23349282 2.88227751
0.11030006 -1.8756314 ]
band15_coefficients_LW_g02-03_iter094_2p097.nc, Trial: 137, Cost: 100.439686, Delta-Cost: 0.0006
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.4060, 99.4504, 102.0450, 103.3110, 96.2036, 100.4869, 106.6611, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band15
2plus band15
Iteration 98
98
100%|██████████| 3/3 [00:00<00:00, 8.37it/s]
[-1.12599506 -1.77731129 -0.6801824 ]
band09_coefficients_LW_g09-10_iter094_2p098.nc, Trial: 100, Cost: 100.438325, Delta-Cost: -0.0007
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.2860, 99.4728, 101.8279, 104.3576, 96.3563, 98.1823, 107.0325, 100.0000, 83.2970, 101.2200, 101.4471, 100.4610, 99.9564, 99.2261, 98.1497, 101.5869, 102.0604
plus band09
2plus band09
Iteration 99
99
100%|██████████| 1/1 [00:00<00:00, 6.62it/s]
[ 4.15586056 15.07247601 2.51482418 3.93483337 -0.08418756 0.21878163
1.00999292 0.6439527 ]
band11_coefficients_LW_g04-05_iter094_2p099.nc, Trial: 110, Cost: 100.439898, Delta-Cost: 0.0009
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.4333, 99.3787, 101.8994, 103.2172, 96.2623, 100.4869, 107.0325, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band11
2plus band11
Iteration 100
100
100%|██████████| 10/10 [00:01<00:00, 8.11it/s]
[-0.5329217 -1.10818262 -0.67249033 -0.41787364 -0.67113576 -0.57464177
-0.46644885 -0.72925697 -1.09465086 -0.24856489]
band06_coefficients_LW_g01-02_iter094_2p100.nc, Trial: 67, Cost: 100.438134, Delta-Cost: -0.0009
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.3785, 99.2333, 102.1136, 103.3526, 96.2623, 100.4869, 107.2580, 100.0000, 76.2398, 103.5003, 101.4471, 102.4229, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band06
2plus band06
Iteration 101
101
100%|██████████| 5/5 [00:00<00:00, 6.72it/s]
[-1.94937854 -2.65382132 -2.48632084 0.73124957 -1.19587914 -1.44394889]
band02_coefficients_LW_g12-13_iter094_2p101.nc, Trial: 25, Cost: 100.436921, Delta-Cost: -0.0021
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.4591, 99.3861, 101.6112, 103.3492, 96.2623, 100.4869, 107.0325, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band02
2plus band02
64%|██████▎ | 7/11 [07:02<04:15, 63.87s/it]
Iteration 102
0%| | 0/7 [00:00<?, ?it/s]
14%|█▍ | 1/7 [00:00<00:01, 5.68it/s]
29%|██▊ | 2/7 [00:00<00:00, 5.69it/s]
43%|████▎ | 3/7 [00:00<00:00, 5.90it/s]
57%|█████▋ | 4/7 [00:00<00:00, 5.84it/s]
71%|███████▏ | 5/7 [00:00<00:00, 5.87it/s]
86%|████████▌ | 6/7 [00:01<00:00, 6.17it/s]
100%|██████████| 7/7 [00:01<00:00, 4.57it/s]
band07_coefficients_LW_g09-10_iter094_2p102.nc, Trial: 80, Cost: 100.436866, Delta-Cost: -0.0022
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.3803, 99.4596, 103.1619, 102.1643, 96.2623, 100.4869, 107.0422, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band07
2plus band07
73%|███████▎ | 8/11 [09:00<04:03, 81.07s/it]
Iteration 103
0%| | 0/9 [00:00<?, ?it/s]
11%|█ | 1/9 [00:00<00:01, 6.81it/s]
22%|██▏ | 2/9 [00:00<00:01, 6.04it/s]
33%|███▎ | 3/9 [00:00<00:00, 6.45it/s]
44%|████▍ | 4/9 [00:00<00:00, 6.26it/s]
56%|█████▌ | 5/9 [00:00<00:00, 6.35it/s]
67%|██████▋ | 6/9 [00:00<00:00, 6.42it/s]
78%|███████▊ | 7/9 [00:01<00:00, 6.46it/s]
89%|████████▉ | 8/9 [00:01<00:00, 6.55it/s]
100%|██████████| 9/9 [00:01<00:00, 6.45it/s]
band12_coefficients_LW_g04-05_iter094_2p103.nc, Trial: 117, Cost: 100.441626, Delta-Cost: 0.0026
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.4007, 99.5034, 102.0596, 103.3359, 96.2623, 100.4869, 106.6022, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band12
2plus band12
82%|████████▏ | 9/11 [10:38<02:52, 86.33s/it]
Iteration 104
0%| | 0/7 [00:00<?, ?it/s]
14%|█▍ | 1/7 [00:00<00:00, 6.32it/s]
29%|██▊ | 2/7 [00:00<00:00, 6.54it/s]
43%|████▎ | 3/7 [00:00<00:00, 6.77it/s]
57%|█████▋ | 4/7 [00:00<00:00, 7.10it/s]
71%|███████▏ | 5/7 [00:00<00:00, 6.07it/s]
86%|████████▌ | 6/7 [00:00<00:00, 6.61it/s]
100%|██████████| 7/7 [00:01<00:00, 6.43it/s]
band03_coefficients_LW_g12-13_iter094_2p104.nc, Trial: 39, Cost: 100.442573, Delta-Cost: 0.0035
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.3809, 99.4383, 102.0138, 103.3627, 96.2623, 100.4869, 107.0459, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band03
2plus band03
91%|█████████ | 10/11 [11:55<01:23, 83.64s/it]
Iteration 105
0%| | 0/6 [00:00<?, ?it/s]
17%|█▋ | 1/6 [00:00<00:00, 5.18it/s]
33%|███▎ | 2/6 [00:00<00:00, 5.53it/s]
50%|█████ | 3/6 [00:00<00:00, 5.62it/s]
67%|██████▋ | 4/6 [00:00<00:00, 6.05it/s]
83%|████████▎ | 5/6 [00:00<00:00, 6.06it/s]
100%|██████████| 6/6 [00:01<00:00, 5.71it/s]
band10_coefficients_LW_g02-03_iter094_2p105.nc, Trial: 97, Cost: 100.435146, Delta-Cost: -0.0039
flux_net, band_flux_net, heating_rate, heating_rate_7, flux_net_forcing_5, flux_net_forcing_6, flux_net_forcing_7, flux_net_forcing_9, flux_net_forcing_10, flux_net_forcing_11, flux_net_forcing_12, flux_net_forcing_13, flux_net_forcing_14, flux_net_forcing_15, flux_net_forcing_16, flux_net_forcing_17, flux_net_forcing_18 = 99.3811, 99.5521, 102.0036, 103.2767, 96.2623, 100.4869, 107.0325, 100.0000, 83.2970, 101.2200, 101.4471, 100.4604, 99.9562, 99.2261, 98.1497, 101.5854, 102.0847
plus band10
2plus band10
100%|██████████| 11/11 [13:31<00:00, 73.76s/it]
from g-point-reduction.
Related Issues (20)
- Cost Inaccuracies for Garand Present Day Forcing Scenarios HOT 1
- Random Astronomical Cost Values When Parallelizing the Cost Function Computation HOT 1
- Diagnostic Output Bug HOT 3
- Code Consolidation HOT 2
- Doc for Karen HOT 1
- Reduction Refinement HOT 2
- Memory Profile Iteration 1 HOT 7
- Inconsistencies in Diagnostic Output After Perturbations HOT 3
- User Friendly Cost Comparisons HOT 4
- `conda` Environment HOT 2
- Negative `kmajor` Values HOT 6
- Diagnostic Output with Modified Combinations HOT 1
- New Parabola Implementation HOT 15
- Run Workflow on `perlmutter` HOT 4
- Parabola Diagnostics HOT 2
- Record of Reduction HOT 2
- Backup on NERSC HPSS HOT 2
- end-to-end run with Eli HOT 2
- More FL Suggestions HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from g-point-reduction.