[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-build-fno-pinn-surrogates-for-darcy-flow-with-phys-summary":3,"summaries-facets-categories":229,"summary-related-build-fno-pinn-surrogates-for-darcy-flow-with-phys-summary":4634},{"id":4,"title":5,"ai":6,"body":13,"categories":195,"created_at":197,"date_modified":197,"description":59,"extension":198,"faq":197,"featured":199,"kicker_label":197,"meta":200,"navigation":211,"path":212,"published_at":213,"question":197,"scraped_at":214,"seo":215,"sitemap":216,"source_id":217,"source_name":218,"source_type":219,"source_url":220,"stem":221,"tags":222,"thumbnail_url":197,"tldr":226,"tweet":197,"unknown_tags":227,"__hash__":228},"summaries\u002Fsummaries\u002Fbuild-fno-pinn-surrogates-for-darcy-flow-with-phys-summary.md","Build FNO & PINN Surrogates for Darcy Flow with PhysicsNeMo",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",9889,3106,28970,0.00323995,{"type":14,"value":15,"toc":189},"minimark",[16,21,30,53,82,86,89,92,107,111,122,125,145,149,152,155,170,173,176,179,182,185],[17,18,20],"h2",{"id":19},"synthetic-darcy-flow-data-pipeline-from-grf-permeability-to-pressure-solutions","Synthetic Darcy Flow Data Pipeline: From GRF Permeability to Pressure Solutions",[22,23,24,25,29],"p",{},"The core skill taught is generating high-fidelity training data for operator learning on the 2D Darcy equation: -∇·(k∇u) = f over ",[26,27,28],"span",{},"0,1","² with Dirichlet BCs u=0. Start with DarcyFlowDataGenerator(resolution=32, length_scale=0.15, variance=1.0). It builds a Gaussian Random Field (GRF) covariance matrix for permeability k(x,y) = exp(GRF), using exponential kernel exp(-dist²\u002F(2*length_scale²)) + jitter, Cholesky decomposed for efficient sampling: z ~ N(0,I), samples = L @ z.",[22,31,32,33,36,37,40,41,44,45,48,49,52],{},"Solve for pressure u using iterative Jacobi: for interior points, u",[26,34,35],{},"i,j"," = (k_e u",[26,38,39],{},"i,j+1"," + k_w u",[26,42,43],{},"i,j-1"," + k_n u",[26,46,47],{},"i-1,j"," + k_s u",[26,50,51],{},"i+1,j"," + dx² f) \u002F (k_e + k_w + k_n + k_s), converging in ~5000 steps or tol=1e-6. Generate n_samples=200 train\u002F50 test pairs. Wrap in PyTorch Dataset with channel dim and optional z-score normalization (store mean\u002Fstd for denorm). Use DataLoader(batch_size=16). Principle: GRF captures realistic heterogeneous permeability (e.g., subsurface flows); finite differences provide ground-truth without external solvers. Common mistake: Underdamped length_scale (>0.2) yields smooth k, poor generalization—use 0.1-0.15 for multiscale. Quality check: Visualize 3 samples side-by-side (viridis for k, hot for u) to confirm pressure pools in high-k regions.",[54,55,60],"pre",{"className":56,"code":57,"language":58,"meta":59,"style":59},"language-python shiki shiki-themes github-light github-dark","# Key generation snippet\ngenerator = DarcyFlowDataGenerator(resolution=32, length_scale=0.15)\nperm_train, press_train = generator.generate_dataset(200)\n","python","",[61,62,63,70,76],"code",{"__ignoreMap":59},[26,64,67],{"class":65,"line":66},"line",1,[26,68,69],{},"# Key generation snippet\n",[26,71,73],{"class":65,"line":72},2,[26,74,75],{},"generator = DarcyFlowDataGenerator(resolution=32, length_scale=0.15)\n",[26,77,79],{"class":65,"line":78},3,[26,80,81],{},"perm_train, press_train = generator.generate_dataset(200)\n",[17,83,85],{"id":84},"fourier-neural-operator-spectral-kernels-for-resolution-independent-mapping","Fourier Neural Operator: Spectral Kernels for Resolution-Independent Mapping",[22,87,88],{},"FNO learns function-to-function operators k → u by parameterizing Fourier multipliers. Key blocks: SpectralConv2d(in_ch=1, out_ch=1, modes1=8, modes2=8) does FFT → low-freq multiply (weights ~1\u002F(in*out)) → iFFT; handles wraparound with dual weights for positive\u002Fnegative freqs. FNOBlock adds local Conv2d(1x1) residual + GELU. Full FourierNeuralOperator2D: lift k (32x32x1) + grid (x,y linspace 0-1) via Linear(3→width=32), pad=5, 4 FNOBlocks, unpad, project Linear(32→128→1). ~100k params. Forward: permute to NCHW, cat grid, process, return NC(1)HW.",[22,90,91],{},"Why spectral? Convolution = Fourier multiply; truncating high modes (modes=12 max for 64res) ignores noise, enables zero-shot super-res. Trade-off: Padding needed for FFT modes; fix via consistent pad\u002Funpad. Train with MSE on full fields (no points). Mistake: Forgetting grid encoding—FNOs are translation-equivariant but need pos for bounded domains. Eval: Relative L2 = ||u_pred - u|| \u002F ||u|| \u003C 1e-3 good for surrogates.",[54,93,95],{"className":56,"code":94,"language":58,"meta":59,"style":59},"fno = FourierNeuralOperator2D(modes1=8, modes2=8, width=32, n_layers=4).to(device)\n# Forward: out = fno(perm_batch)  # learns k → u operator\n",[61,96,97,102],{"__ignoreMap":59},[26,98,99],{"class":65,"line":66},[26,100,101],{},"fno = FourierNeuralOperator2D(modes1=8, modes2=8, width=32, n_layers=4).to(device)\n",[26,103,104],{"class":65,"line":72},[26,105,106],{},"# Forward: out = fno(perm_batch)  # learns k → u operator\n",[17,108,110],{"id":109},"physics-informed-nns-pde-residuals-without-full-data","Physics-Informed NNs: PDE Residuals Without Full Data",[22,112,113,114,117,118,121],{},"PINNs solve unsupervised via multi-task loss on sparse\u002Fno data. PINN_MLP(input_dim=3: x,y,k → u): Fourier embedding (sin\u002Fcos(2π B · ",[26,115,116],{},"x,y","), B fixed rand, 64 freqs) + k, then Tanh MLP ",[26,119,120],{},"256→128→...→1",", Xavier init. Loss (lambda_data=1, pde=1, bc=10): data MSE(u_pred, u_obs), PDE residual -k(u_xx + u_yy) -1 via dual autograd (grad(u,x)→u_x→u_xx), BC MSE(u_bc=0). Collocation: sample interior\u002Fpde\u002Fbc points uniformly.",[22,123,124],{},"Principle: Autodiff enforces physics everywhere; Fourier feats boost freq capture vs ReLU. Trade-off: Stiff losses (tune lambdas, start data>>physics); slower than data-driven (grad graph). Mistake: No requires_grad_(True) on coords or forgetting create_graph=True for Hessians. Quality: Balance losses \u003C1e-4 each; physics loss drops signal overfit.",[54,126,128],{"className":56,"code":127,"language":58,"meta":59,"style":59},"pinn = PINN_MLP(hidden_dims=[128]*4, n_frequencies=64).to(device)\nloss_fn = DarcyPINNLoss()\n# Usage: losses = loss_fn(pinn, x_data,y_data,k_data,u_data, x_pde,...)\n",[61,129,130,135,140],{"__ignoreMap":59},[26,131,132],{"class":65,"line":66},[26,133,134],{},"pinn = PINN_MLP(hidden_dims=[128]*4, n_frequencies=64).to(device)\n",[26,136,137],{"class":65,"line":72},[26,138,139],{},"loss_fn = DarcyPINNLoss()\n",[26,141,142],{"class":65,"line":78},[26,143,144],{},"# Usage: losses = loss_fn(pinn, x_data,y_data,k_data,u_data, x_pde,...)\n",[17,146,148],{"id":147},"cnn-surrogate-baseline-and-inference-benchmarking","CNN Surrogate Baseline and Inference Benchmarking",[22,150,151],{},"Add convolutional surrogate: UNet-like with Conv2d blocks as baseline (not physics-aware). Train all (FNO\u002FPINN\u002FCNN) via Trainer: Adam(lr=1e-3), MSE\u002Fdata loss for supervised, full physics loss for PINN. Loop: train_epoch (zero_grad→pred→loss→backward→step), validate no_grad MSE, save best val state, CosineAnnealLR. Plot semilogy train\u002Fval curves.",[22,153,154],{},"Benchmark: Time 1000 inferences on test set (torch.no_grad(), sync). FNO fastest (spectral lift), CNN mid, PINN slowest (autodiff). Save torch.save(model.state_dict(), 'fno_darcy.pth'). Principle: Surrogates 1000x faster than FD solvers for repeated k. Trade-off: FNO best gen (res-invariant), PINN data-efficient but eval slow. Post-train: Denorm preds, L2\u002Frel err plots.",[54,156,158],{"className":56,"code":157,"language":58,"meta":59,"style":59},"trainer = Trainer(fno, Adam(fno.parameters(),1e-3))\nhistory = trainer.train(train_loader, test_loader, 100)\n",[61,159,160,165],{"__ignoreMap":59},[26,161,162],{"class":65,"line":66},[26,163,164],{},"trainer = Trainer(fno, Adam(fno.parameters(),1e-3))\n",[26,166,167],{"class":65,"line":72},[26,168,169],{},"history = trainer.train(train_loader, test_loader, 100)\n",[22,171,172],{},"\"The Fourier Neural Operator (FNO) learns mappings between function spaces by parameterizing the integral kernel in Fourier space. Key insight: Convolution in physical space = multiplication in Fourier space.\"",[22,174,175],{},"\"Physics-Informed Neural Networks (PINNs) incorporate physical laws directly into the loss function... residual of the PDE at collocation points.\"",[22,177,178],{},"\"GRF for permeability: realistic heterogeneous fields critical for subsurface modeling—smooth k leads to trivial solutions.\"",[22,180,181],{},"\"Benchmark shows FNO at 50ms\u002Finference vs FD Jacobi 2s—key for real-time surrogates in optimization loops.\"",[22,183,184],{},"\"Fourier features in PINN: sine activations capture high freqs better than Tanh alone, converging 2x faster.\"",[186,187,188],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":59,"searchDepth":72,"depth":72,"links":190},[191,192,193,194],{"id":19,"depth":72,"text":20},{"id":84,"depth":72,"text":85},{"id":109,"depth":72,"text":110},{"id":147,"depth":72,"text":148},[196],"Data Science & Visualization",null,"md",false,{"content_references":201,"triage":207},[202],{"type":203,"title":204,"url":205,"context":206},"tool","NVIDIA PhysicsNeMo","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo","mentioned",{"relevance":208,"novelty":78,"quality":208,"actionability":208,"composite":209,"reasoning":210},4,3.8,"Category: AI & LLMs. The article provides a detailed step-by-step guide on building surrogate models for Darcy flow using PhysicsNeMo, which directly addresses practical applications in AI engineering. It includes specific coding examples and techniques that can be implemented, making it actionable for developers looking to integrate AI into their projects.",true,"\u002Fsummaries\u002Fbuild-fno-pinn-surrogates-for-darcy-flow-with-phys-summary","2026-04-13 17:07:34","2026-04-13 17:53:26",{"title":5,"description":59},{"loc":212},"70fa59cd85bd7438","MarkTechPost","article","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F04\u002F13\u002Fa-step-by-step-coding-tutorial-on-nvidia-physicsnemo-darcy-flow-fnos-pinns-surrogate-models-and-inference-benchmarking\u002F","summaries\u002Fbuild-fno-pinn-surrogates-for-darcy-flow-with-phys-summary",[223,224,58,225],"machine-learning","deep-learning","ai-tools","Step-by-step Colab guide: generate 2D Darcy datasets via GRF & finite differences, implement\u002Ftrain FNO operators and PINNs, add CNN baselines, benchmark inference speeds for fast physics surrogates.",[],"4aRIDAtT3k5p3j_0yt0EECKKCYyaQXTBCw3QfJ4Qj8w",[230,233,235,238,240,243,246,249,252,254,256,258,260,262,264,266,269,271,273,275,277,279,281,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164,3166,3168,3170,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340,3342,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422,3424,3426,3428,3430,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752,3754,3756,3758,3760,3762,3764,3766,3768,3770,3772,3774,3776,3778,3780,3782,3784,3786,3788,3790,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814,3816,3818,3820,3822,3824,3826,3828,3830,3832,3834,3836,3838,3840,3842,3844,3846,3848,3850,3852,3854,3856,3858,3860,3862,3864,3866,3868,3870,3872,3874,3876,3878,3880,3882,3884,3886,3888,3890,3892,3894,3896,3898,3900,3902,3904,3906,3908,3910,3912,3914,3916,3918,3920,3922,3924,3926,3928,3930,3932,3934,3936,3938,3940,3942,3944,3946,3948,3950,3952,3954,3956,3958,3960,3962,3964,3966,3968,3970,3972,3974,3976,3978,3980,3982,3984,3986,3988,3990,3992,3994,3996,3998,4000,4002,4004,4006,4008,4010,4012,4014,4016,4018,4020,4022,4024,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4046,4048,4050,4052,4054,4056,4058,4060,4062,4064,4066,4068,4070,4072,4074,4076,4078,4080,4082,4084,4086,4088,4090,4092,4094,4096,4098,4100,4102,4104,4106,4108,4110,4112,4114,4116,4118,4120,4122,4124,4126,4128,4130,4132,4134,4136,4138,4140,4142,4144,4146,4148,4150,4152,4154,4156,4158,4160,4162,4164,4166,4168,4170,4172,4174,4176,4178,4180,4182,4184,4186,4188,4190,4192,4194,4196,4198,4200,4202,4204,4206,4208,4210,4212,4214,4216,4218,4220,4222,4224,4226,4228,4230,4232,4234,4236,4238,4240,4242,4244,4246,4248,4250,4252,4254,4256,4258,4260,4262,4264,4266,4268,4270,4272,4274,4276,4278,4280,4282,4284,4286,4288,4290,4292,4294,4296,4298,4300,4302,4304,4306,4308,4310,4312,4314,4316,4318,4320,4322,4324,4326,4328,4330,4332,4334,4336,4338,4340,4342,4344,4346,4348,4350,4352,4354,4356,4358,4360,4362,4364,4366,4368,4370,4372,4374,4376,4378,4380,4382,4384,4386,4388,4390,4392,4394,4396,4398,4400,4402,4404,4406,4408,4410,4412,4414,4416,4418,4420,4422,4424,4426,4428,4430,4432,4434,4436,4438,4440,4442,4444,4446,4448,4450,4452,4454,4456,4458,4460,4462,4464,4466,4468,4470,4472,4474,4476,4478,4480,4482,4484,4486,4488,4490,4492,4494,4496,4498,4500,4502,4504,4506,4508,4510,4512,4514,4516,4518,4520,4522,4524,4526,4528,4530,4532,4534,4536,4538,4540,4542,4544,4546,4548,4550,4552,4554,4556,4558,4560,4562,4564,4566,4568,4570,4572,4574,4576,4578,4580,4582,4584,4586,4588,4590,4592,4594,4596,4598,4600,4602,4604,4606,4608,4610,4612,4614,4616,4618,4620,4622,4624,4626,4628,4630,4632],{"categories":231},[232],"Business & SaaS",{"categories":234},[232],{"categories":236},[237],"AI News & Trends",{"categories":239},[],{"categories":241},[242],"AI Automation",{"categories":244},[245],"Marketing & Growth",{"categories":247},[248],"Design & Frontend",{"categories":250},[251],"Software Engineering",{"categories":253},[242],{"categories":255},[],{"categories":257},[248],{"categories":259},[248],{"categories":261},[242],{"categories":263},[248],{"categories":265},[248],{"categories":267},[268],"AI & LLMs",{"categories":270},[248],{"categories":272},[248],{"categories":274},[],{"categories":276},[248],{"categories":278},[248],{"categories":280},[268],{"categories":282},[283],"Developer Productivity",{"categories":285},[268],{"categories":287},[268],{"categories":289},[268],{"categories":291},[237],{"categories":293},[268],{"categories":295},[242],{"categories":297},[232],{"categories":299},[237],{"categories":301},[245],{"categories":303},[],{"categories":305},[],{"categories":307},[242],{"categories":309},[242],{"categories":311},[242],{"categories":313},[245],{"categories":315},[268],{"categories":317},[283],{"categories":319},[237],{"categories":321},[],{"categories":323},[],{"categories":325},[],{"categories":327},[196],{"categories":329},[],{"categories":331},[242],{"categories":333},[251],{"categories":335},[242],{"categories":337},[242],{"categories":339},[268],{"categories":341},[245],{"categories":343},[242],{"categories":345},[],{"categories":347},[],{"categories":349},[],{"categories":351},[248],{"categories":353},[248],{"categories":355},[242],{"categories":357},[245],{"categories":359},[283],{"categories":361},[248],{"categories":363},[268],{"categories":365},[251],{"categories":367},[268],{"categories":369},[],{"categories":371},[242],{"categories":373},[268],{"categories":375},[283],{"categories":377},[283],{"categories":379},[],{"categories":381},[245],{"categories":383},[232],{"categories":385},[268],{"categories":387},[232],{"categories":389},[232],{"categories":391},[242],{"categories":393},[245],{"categories":395},[242],{"categories":397},[232],{"categories":399},[242],{"categories":401},[248],{"categories":403},[268],{"categories":405},[248],{"categories":407},[268],{"categories":409},[232],{"categories":411},[268],{"categories":413},[245],{"categories":415},[],{"categories":417},[268],{"categories":419},[232],{"categories":421},[],{"categories":423},[237],{"categories":425},[251],{"categories":427},[],{"categories":429},[268],{"categories":431},[248],{"categories":433},[268],{"categories":435},[248],{"categories":437},[],{"categories":439},[242],{"categories":441},[],{"categories":443},[],{"categories":445},[],{"categories":447},[268],{"categories":449},[],{"categories":451},[268],{"categories":453},[268],{"categories":455},[248],{"categories":457},[268],{"categories":459},[283],{"categories":461},[242],{"categories":463},[245],{"categories":465},[283],{"categories":467},[283],{"categories":469},[283],{"categories":471},[245],{"categories":473},[245],{"categories":475},[268],{"categories":477},[268],{"categories":479},[248],{"categories":481},[232],{"categories":483},[248],{"categories":485},[251],{"categories":487},[232],{"categories":489},[232],{"categories":491},[232],{"categories":493},[248],{"categories":495},[],{"categories":497},[],{"categories":499},[268],{"categories":501},[268],{"categories":503},[251],{"categories":505},[268],{"categories":507},[268],{"categories":509},[],{"categories":511},[268],{"categories":513},[268],{"categories":515},[],{"categories":517},[268],{"categories":519},[237],{"categories":521},[237],{"categories":523},[],{"categories":525},[],{"categories":527},[245],{"categories":529},[245],{"categories":531},[251],{"categories":533},[268],{"categories":535},[],{"categories":537},[],{"categories":539},[242],{"categories":541},[268],{"categories":543},[268],{"categories":545},[],{"categories":547},[268,232],{"categories":549},[268],{"categories":551},[],{"categories":553},[268],{"categories":555},[268],{"categories":557},[],{"categories":559},[],{"categories":561},[242],{"categories":563},[268],{"categories":565},[268],{"categories":567},[242],{"categories":569},[268],{"categories":571},[],{"categories":573},[],{"categories":575},[268],{"categories":577},[],{"categories":579},[268],{"categories":581},[268],{"categories":583},[],{"categories":585},[242],{"categories":587},[248],{"categories":589},[],{"categories":591},[242,592],"DevOps & Cloud",{"categories":594},[268],{"categories":596},[242],{"categories":598},[268],{"categories":600},[],{"categories":602},[],{"categories":604},[],{"categories":606},[],{"categories":608},[268],{"categories":610},[242],{"categories":612},[],{"categories":614},[242],{"categories":616},[],{"categories":618},[268],{"categories":620},[],{"categories":622},[],{"categories":624},[],{"categories":626},[],{"categories":628},[242],{"categories":630},[248],{"categories":632},[268],{"categories":634},[245],{"categories":636},[237],{"categories":638},[232],{"categories":640},[283],{"categories":642},[],{"categories":644},[242],{"categories":646},[242],{"categories":648},[268],{"categories":650},[],{"categories":652},[],{"categories":654},[],{"categories":656},[242],{"categories":658},[],{"categories":660},[242],{"categories":662},[242],{"categories":664},[237],{"categories":666},[242],{"categories":668},[268],{"categories":670},[],{"categories":672},[268],{"categories":674},[],{"categories":676},[237],{"categories":678},[242,679],"Product Strategy",{"categories":681},[251],{"categories":683},[592],{"categories":685},[679],{"categories":687},[268],{"categories":689},[242],{"categories":691},[],{"categories":693},[237],{"categories":695},[237],{"categories":697},[242],{"categories":699},[],{"categories":701},[242],{"categories":703},[268],{"categories":705},[268],{"categories":707},[283],{"categories":709},[268],{"categories":711},[],{"categories":713},[268,251],{"categories":715},[237],{"categories":717},[268],{"categories":719},[237],{"categories":721},[242],{"categories":723},[237],{"categories":725},[],{"categories":727},[251],{"categories":729},[232],{"categories":731},[],{"categories":733},[242],{"categories":735},[242],{"categories":737},[242],{"categories":739},[242],{"categories":741},[232],{"categories":743},[248],{"categories":745},[245],{"categories":747},[],{"categories":749},[242],{"categories":751},[],{"categories":753},[237],{"categories":755},[237],{"categories":757},[237],{"categories":759},[242],{"categories":761},[237],{"categories":763},[268],{"categories":765},[283],{"categories":767},[268],{"categories":769},[251],{"categories":771},[268,283],{"categories":773},[283],{"categories":775},[283],{"categories":777},[283],{"categories":779},[283],{"categories":781},[268],{"categories":783},[],{"categories":785},[],{"categories":787},[245],{"categories":789},[],{"categories":791},[268],{"categories":793},[283],{"categories":795},[268],{"categories":797},[248],{"categories":799},[251],{"categories":801},[],{"categories":803},[268],{"categories":805},[283],{"categories":807},[245],{"categories":809},[237],{"categories":811},[251],{"categories":813},[268],{"categories":815},[],{"categories":817},[251],{"categories":819},[248],{"categories":821},[232],{"categories":823},[232],{"categories":825},[],{"categories":827},[248],{"categories":829},[232],{"categories":831},[237],{"categories":833},[283],{"categories":835},[242],{"categories":837},[242],{"categories":839},[268],{"categories":841},[268],{"categories":843},[237],{"categories":845},[237],{"categories":847},[283],{"categories":849},[237],{"categories":851},[],{"categories":853},[679],{"categories":855},[242],{"categories":857},[237],{"categories":859},[237],{"categories":861},[237],{"categories":863},[268],{"categories":865},[242],{"categories":867},[242],{"categories":869},[232],{"categories":871},[232],{"categories":873},[268],{"categories":875},[237],{"categories":877},[],{"categories":879},[268],{"categories":881},[232],{"categories":883},[242],{"categories":885},[242],{"categories":887},[242],{"categories":889},[248],{"categories":891},[242],{"categories":893},[283],{"categories":895},[237],{"categories":897},[237],{"categories":899},[237],{"categories":901},[237],{"categories":903},[237],{"categories":905},[],{"categories":907},[],{"categories":909},[283],{"categories":911},[237],{"categories":913},[237],{"categories":915},[237],{"categories":917},[],{"categories":919},[268],{"categories":921},[],{"categories":923},[],{"categories":925},[248],{"categories":927},[232],{"categories":929},[],{"categories":931},[237],{"categories":933},[242],{"categories":935},[242],{"categories":937},[242],{"categories":939},[245],{"categories":941},[242],{"categories":943},[],{"categories":945},[237],{"categories":947},[237],{"categories":949},[268],{"categories":951},[],{"categories":953},[245],{"categories":955},[245],{"categories":957},[268],{"categories":959},[237],{"categories":961},[232],{"categories":963},[251],{"categories":965},[268],{"categories":967},[],{"categories":969},[268],{"categories":971},[268],{"categories":973},[251],{"categories":975},[268],{"categories":977},[268],{"categories":979},[268],{"categories":981},[245],{"categories":983},[237],{"categories":985},[268],{"categories":987},[268],{"categories":989},[237],{"categories":991},[242],{"categories":993},[283],{"categories":995},[232],{"categories":997},[268],{"categories":999},[283],{"categories":1001},[283],{"categories":1003},[],{"categories":1005},[245],{"categories":1007},[237],{"categories":1009},[237],{"categories":1011},[283],{"categories":1013},[242],{"categories":1015},[242],{"categories":1017},[242],{"categories":1019},[242],{"categories":1021},[248],{"categories":1023},[268],{"categories":1025},[268],{"categories":1027},[679],{"categories":1029},[268],{"categories":1031},[268],{"categories":1033},[242],{"categories":1035},[232],{"categories":1037},[245],{"categories":1039},[],{"categories":1041},[232],{"categories":1043},[232],{"categories":1045},[],{"categories":1047},[248],{"categories":1049},[268],{"categories":1051},[],{"categories":1053},[],{"categories":1055},[237],{"categories":1057},[237],{"categories":1059},[237],{"categories":1061},[237],{"categories":1063},[],{"categories":1065},[237],{"categories":1067},[268],{"categories":1069},[268],{"categories":1071},[],{"categories":1073},[237],{"categories":1075},[237],{"categories":1077},[232],{"categories":1079},[268],{"categories":1081},[],{"categories":1083},[],{"categories":1085},[237],{"categories":1087},[237],{"categories":1089},[237],{"categories":1091},[268],{"categories":1093},[237],{"categories":1095},[237],{"categories":1097},[237],{"categories":1099},[237],{"categories":1101},[237],{"categories":1103},[],{"categories":1105},[242],{"categories":1107},[268],{"categories":1109},[245],{"categories":1111},[232],{"categories":1113},[242],{"categories":1115},[268],{"categories":1117},[],{"categories":1119},[245],{"categories":1121},[237],{"categories":1123},[237],{"categories":1125},[237],{"categories":1127},[237],{"categories":1129},[283],{"categories":1131},[251],{"categories":1133},[],{"categories":1135},[268],{"categories":1137},[242],{"categories":1139},[242],{"categories":1141},[242],{"categories":1143},[592],{"categories":1145},[242],{"categories":1147},[268],{"categories":1149},[268],{"categories":1151},[251],{"categories":1153},[592],{"categories":1155},[196],{"categories":1157},[268],{"categories":1159},[196],{"categories":1161},[],{"categories":1163},[245],{"categories":1165},[245],{"categories":1167},[248],{"categories":1169},[592],{"categories":1171},[242],{"categories":1173},[268],{"categories":1175},[268],{"categories":1177},[242],{"categories":1179},[242],{"categories":1181},[242],{"categories":1183},[283],{"categories":1185},[283],{"categories":1187},[242],{"categories":1189},[242],{"categories":1191},[],{"categories":1193},[242],{"categories":1195},[242],{"categories":1197},[268],{"categories":1199},[196],{"categories":1201},[242],{"categories":1203},[242],{"categories":1205},[242],{"categories":1207},[242],{"categories":1209},[232],{"categories":1211},[248],{"categories":1213},[237],{"categories":1215},[251],{"categories":1217},[592],{"categories":1219},[251],{"categories":1221},[196],{"categories":1223},[],{"categories":1225},[251],{"categories":1227},[],{"categories":1229},[],{"categories":1231},[251],{"categories":1233},[268],{"categories":1235},[],{"categories":1237},[],{"categories":1239},[],{"categories":1241},[232],{"categories":1243},[],{"categories":1245},[],{"categories":1247},[196],{"categories":1249},[268],{"categories":1251},[592],{"categories":1253},[268],{"categories":1255},[],{"categories":1257},[242],{"categories":1259},[283],{"categories":1261},[283],{"categories":1263},[245],{"categories":1265},[245],{"categories":1267},[245],{"categories":1269},[592],{"categories":1271},[251],{"categories":1273},[242],{"categories":1275},[232],{"categories":1277},[232],{"categories":1279},[251],{"categories":1281},[248],{"categories":1283},[196],{"categories":1285},[248],{"categories":1287},[],{"categories":1289},[268],{"categories":1291},[242],{"categories":1293},[242],{"categories":1295},[283],{"categories":1297},[242],{"categories":1299},[242],{"categories":1301},[248],{"categories":1303},[248],{"categories":1305},[242],{"categories":1307},[592],{"categories":1309},[268],{"categories":1311},[],{"categories":1313},[245],{"categories":1315},[242],{"categories":1317},[232],{"categories":1319},[242],{"categories":1321},[242],{"categories":1323},[],{"categories":1325},[268],{"categories":1327},[242],{"categories":1329},[242],{"categories":1331},[283],{"categories":1333},[242],{"categories":1335},[268],{"categories":1337},[],{"categories":1339},[242],{"categories":1341},[],{"categories":1343},[248],{"categories":1345},[283],{"categories":1347},[268],{"categories":1349},[251],{"categories":1351},[248],{"categories":1353},[283],{"categories":1355},[196],{"categories":1357},[283],{"categories":1359},[],{"categories":1361},[268],{"categories":1363},[268],{"categories":1365},[679],{"categories":1367},[251],{"categories":1369},[268,242],{"categories":1371},[242],{"categories":1373},[268],{"categories":1375},[242],{"categories":1377},[242,251],{"categories":1379},[242],{"categories":1381},[268],{"categories":1383},[],{"categories":1385},[283],{"categories":1387},[268],{"categories":1389},[242],{"categories":1391},[268],{"categories":1393},[],{"categories":1395},[251],{"categories":1397},[232],{"categories":1399},[242],{"categories":1401},[],{"categories":1403},[196],{"categories":1405},[251],{"categories":1407},[242],{"categories":1409},[251],{"categories":1411},[],{"categories":1413},[242],{"categories":1415},[],{"categories":1417},[242],{"categories":1419},[],{"categories":1421},[],{"categories":1423},[248],{"categories":1425},[283],{"categories":1427},[268],{"categories":1429},[242],{"categories":1431},[],{"categories":1433},[242],{"categories":1435},[251],{"categories":1437},[268],{"categories":1439},[268],{"categories":1441},[251],{"categories":1443},[251],{"categories":1445},[283],{"categories":1447},[232],{"categories":1449},[],{"categories":1451},[268],{"categories":1453},[268],{"categories":1455},[268],{"categories":1457},[242],{"categories":1459},[268],{"categories":1461},[],{"categories":1463},[248],{"categories":1465},[268],{"categories":1467},[242],{"categories":1469},[],{"categories":1471},[268],{"categories":1473},[],{"categories":1475},[268],{"categories":1477},[],{"categories":1479},[],{"categories":1481},[],{"categories":1483},[268],{"categories":1485},[268],{"categories":1487},[268],{"categories":1489},[268],{"categories":1491},[],{"categories":1493},[268],{"categories":1495},[268],{"categories":1497},[268],{"categories":1499},[],{"categories":1501},[268],{"categories":1503},[],{"categories":1505},[245],{"categories":1507},[268],{"categories":1509},[],{"categories":1511},[],{"categories":1513},[],{"categories":1515},[268],{"categories":1517},[237],{"categories":1519},[237],{"categories":1521},[],{"categories":1523},[242],{"categories":1525},[268],{"categories":1527},[],{"categories":1529},[268],{"categories":1531},[268],{"categories":1533},[237],{"categories":1535},[],{"categories":1537},[268],{"categories":1539},[237],{"categories":1541},[242],{"categories":1543},[268],{"categories":1545},[],{"categories":1547},[],{"categories":1549},[],{"categories":1551},[242],{"categories":1553},[242],{"categories":1555},[242],{"categories":1557},[242],{"categories":1559},[268],{"categories":1561},[248],{"categories":1563},[248],{"categories":1565},[242],{"categories":1567},[242],{"categories":1569},[283],{"categories":1571},[679],{"categories":1573},[283],{"categories":1575},[283],{"categories":1577},[268],{"categories":1579},[242],{"categories":1581},[268],{"categories":1583},[283],{"categories":1585},[268],{"categories":1587},[242],{"categories":1589},[242],{"categories":1591},[242],{"categories":1593},[242],{"categories":1595},[242],{"categories":1597},[268],{"categories":1599},[283],{"categories":1601},[283],{"categories":1603},[245],{"categories":1605},[242],{"categories":1607},[],{"categories":1609},[242],{"categories":1611},[],{"categories":1613},[237],{"categories":1615},[268],{"categories":1617},[],{"categories":1619},[232],{"categories":1621},[248],{"categories":1623},[248],{"categories":1625},[242],{"categories":1627},[242],{"categories":1629},[268],{"categories":1631},[268],{"categories":1633},[237],{"categories":1635},[237],{"categories":1637},[592],{"categories":1639},[242],{"categories":1641},[237],{"categories":1643},[],{"categories":1645},[268],{"categories":1647},[242],{"categories":1649},[242],{"categories":1651},[242],{"categories":1653},[242],{"categories":1655},[268],{"categories":1657},[268],{"categories":1659},[268],{"categories":1661},[268],{"categories":1663},[242],{"categories":1665},[242],{"categories":1667},[242],{"categories":1669},[242],{"categories":1671},[],{"categories":1673},[248],{"categories":1675},[268],{"categories":1677},[268],{"categories":1679},[268],{"categories":1681},[],{"categories":1683},[245],{"categories":1685},[],{"categories":1687},[283],{"categories":1689},[],{"categories":1691},[242],{"categories":1693},[283],{"categories":1695},[248],{"categories":1697},[283],{"categories":1699},[],{"categories":1701},[283],{"categories":1703},[283],{"categories":1705},[],{"categories":1707},[248],{"categories":1709},[242],{"categories":1711},[242],{"categories":1713},[283],{"categories":1715},[268],{"categories":1717},[268],{"categories":1719},[],{"categories":1721},[237],{"categories":1723},[],{"categories":1725},[245],{"categories":1727},[],{"categories":1729},[248],{"categories":1731},[237],{"categories":1733},[248],{"categories":1735},[248],{"categories":1737},[248],{"categories":1739},[248],{"categories":1741},[248],{"categories":1743},[248],{"categories":1745},[248],{"categories":1747},[248],{"categories":1749},[248],{"categories":1751},[248],{"categories":1753},[],{"categories":1755},[242],{"categories":1757},[248],{"categories":1759},[268],{"categories":1761},[268],{"categories":1763},[248],{"categories":1765},[248],{"categories":1767},[248],{"categories":1769},[248],{"categories":1771},[248],{"categories":1773},[248],{"categories":1775},[248],{"categories":1777},[268,248],{"categories":1779},[248],{"categories":1781},[248],{"categories":1783},[248],{"categories":1785},[248],{"categories":1787},[],{"categories":1789},[248],{"categories":1791},[248],{"categories":1793},[248],{"categories":1795},[248],{"categories":1797},[248],{"categories":1799},[248],{"categories":1801},[248],{"categories":1803},[248],{"categories":1805},[248],{"categories":1807},[248,268],{"categories":1809},[248],{"categories":1811},[248],{"categories":1813},[],{"categories":1815},[237],{"categories":1817},[],{"categories":1819},[268],{"categories":1821},[],{"categories":1823},[242],{"categories":1825},[592],{"categories":1827},[679],{"categories":1829},[242],{"categories":1831},[242],{"categories":1833},[],{"categories":1835},[242],{"categories":1837},[],{"categories":1839},[242],{"categories":1841},[],{"categories":1843},[],{"categories":1845},[268],{"categories":1847},[268],{"categories":1849},[268],{"categories":1851},[237],{"categories":1853},[237],{"categories":1855},[237],{"categories":1857},[237],{"categories":1859},[],{"categories":1861},[237],{"categories":1863},[],{"categories":1865},[237],{"categories":1867},[268],{"categories":1869},[237],{"categories":1871},[237],{"categories":1873},[237],{"categories":1875},[237],{"categories":1877},[268],{"categories":1879},[237],{"categories":1881},[242],{"categories":1883},[],{"categories":1885},[242],{"categories":1887},[237],{"categories":1889},[268],{"categories":1891},[237],{"categories":1893},[237],{"categories":1895},[237],{"categories":1897},[268],{"categories":1899},[268],{"categories":1901},[268],{"categories":1903},[],{"categories":1905},[],{"categories":1907},[268],{"categories":1909},[237],{"categories":1911},[],{"categories":1913},[268],{"categories":1915},[242],{"categories":1917},[268],{"categories":1919},[242],{"categories":1921},[242],{"categories":1923},[268],{"categories":1925},[],{"categories":1927},[],{"categories":1929},[242],{"categories":1931},[242],{"categories":1933},[242],{"categories":1935},[242],{"categories":1937},[242],{"categories":1939},[242],{"categories":1941},[242],{"categories":1943},[242],{"categories":1945},[],{"categories":1947},[242],{"categories":1949},[242],{"categories":1951},[242],{"categories":1953},[268],{"categories":1955},[268],{"categories":1957},[268],{"categories":1959},[237],{"categories":1961},[268],{"categories":1963},[268],{"categories":1965},[268],{"categories":1967},[242],{"categories":1969},[245],{"categories":1971},[245],{"categories":1973},[245],{"categories":1975},[242],{"categories":1977},[],{"categories":1979},[268],{"categories":1981},[],{"categories":1983},[],{"categories":1985},[268],{"categories":1987},[],{"categories":1989},[242],{"categories":1991},[248],{"categories":1993},[283],{"categories":1995},[196],{"categories":1997},[268],{"categories":1999},[242],{"categories":2001},[248],{"categories":2003},[],{"categories":2005},[242],{"categories":2007},[245,232],{"categories":2009},[242],{"categories":2011},[242],{"categories":2013},[592],{"categories":2015},[251],{"categories":2017},[245],{"categories":2019},[283],{"categories":2021},[268],{"categories":2023},[],{"categories":2025},[268],{"categories":2027},[],{"categories":2029},[268],{"categories":2031},[268],{"categories":2033},[242],{"categories":2035},[],{"categories":2037},[268],{"categories":2039},[242],{"categories":2041},[268],{"categories":2043},[283],{"categories":2045},[242],{"categories":2047},[268],{"categories":2049},[268,283],{"categories":2051},[283],{"categories":2053},[],{"categories":2055},[268],{"categories":2057},[268],{"categories":2059},[268],{"categories":2061},[],{"categories":2063},[],{"categories":2065},[242],{"categories":2067},[245],{"categories":2069},[237],{"categories":2071},[242],{"categories":2073},[268],{"categories":2075},[237],{"categories":2077},[],{"categories":2079},[283],{"categories":2081},[237],{"categories":2083},[],{"categories":2085},[196],{"categories":2087},[245],{"categories":2089},[232],{"categories":2091},[237],{"categories":2093},[268],{"categories":2095},[242],{"categories":2097},[268],{"categories":2099},[242],{"categories":2101},[242],{"categories":2103},[237],{"categories":2105},[283],{"categories":2107},[248],{"categories":2109},[232],{"categories":2111},[268],{"categories":2113},[268],{"categories":2115},[],{"categories":2117},[],{"categories":2119},[268],{"categories":2121},[],{"categories":2123},[268],{"categories":2125},[237],{"categories":2127},[],{"categories":2129},[242],{"categories":2131},[283],{"categories":2133},[237],{"categories":2135},[283],{"categories":2137},[242],{"categories":2139},[268],{"categories":2141},[],{"categories":2143},[242],{"categories":2145},[242],{"categories":2147},[248],{"categories":2149},[242],{"categories":2151},[248],{"categories":2153},[242],{"categories":2155},[242],{"categories":2157},[248],{"categories":2159},[],{"categories":2161},[],{"categories":2163},[248],{"categories":2165},[248],{"categories":2167},[248],{"categories":2169},[251],{"categories":2171},[283],{"categories":2173},[283],{"categories":2175},[242],{"categories":2177},[237],{"categories":2179},[283],{"categories":2181},[283],{"categories":2183},[245],{"categories":2185},[248],{"categories":2187},[242],{"categories":2189},[242],{"categories":2191},[268],{"categories":2193},[283],{"categories":2195},[268],{"categories":2197},[],{"categories":2199},[592],{"categories":2201},[679],{"categories":2203},[],{"categories":2205},[],{"categories":2207},[242],{"categories":2209},[237],{"categories":2211},[245],{"categories":2213},[245],{"categories":2215},[196],{"categories":2217},[248],{"categories":2219},[196],{"categories":2221},[196],{"categories":2223},[242],{"categories":2225},[],{"categories":2227},[],{"categories":2229},[196],{"categories":2231},[251],{"categories":2233},[268],{"categories":2235},[251],{"categories":2237},[196],{"categories":2239},[251],{"categories":2241},[196],{"categories":2243},[232],{"categories":2245},[251],{"categories":2247},[283],{"categories":2249},[268],{"categories":2251},[],{"categories":2253},[196],{"categories":2255},[592],{"categories":2257},[],{"categories":2259},[268],{"categories":2261},[268],{"categories":2263},[],{"categories":2265},[],{"categories":2267},[268],{"categories":2269},[268],{"categories":2271},[237],{"categories":2273},[268],{"categories":2275},[],{"categories":2277},[237],{"categories":2279},[],{"categories":2281},[],{"categories":2283},[237],{"categories":2285},[237],{"categories":2287},[268],{"categories":2289},[268],{"categories":2291},[268],{"categories":2293},[268],{"categories":2295},[268],{"categories":2297},[268],{"categories":2299},[245],{"categories":2301},[],{"categories":2303},[268],{"categories":2305},[],{"categories":2307},[],{"categories":2309},[242],{"categories":2311},[283],{"categories":2313},[],{"categories":2315},[592],{"categories":2317},[268,592],{"categories":2319},[268],{"categories":2321},[],{"categories":2323},[248],{"categories":2325},[248],{"categories":2327},[248],{"categories":2329},[248],{"categories":2331},[248],{"categories":2333},[],{"categories":2335},[],{"categories":2337},[],{"categories":2339},[251],{"categories":2341},[242],{"categories":2343},[232],{"categories":2345},[251],{"categories":2347},[283],{"categories":2349},[248],{"categories":2351},[],{"categories":2353},[245],{"categories":2355},[679],{"categories":2357},[196],{"categories":2359},[196],{"categories":2361},[196],{"categories":2363},[283],{"categories":2365},[679],{"categories":2367},[283],{"categories":2369},[],{"categories":2371},[232],{"categories":2373},[251],{"categories":2375},[268],{"categories":2377},[248],{"categories":2379},[245],{"categories":2381},[251],{"categories":2383},[245],{"categories":2385},[268],{"categories":2387},[248],{"categories":2389},[251],{"categories":2391},[592],{"categories":2393},[268],{"categories":2395},[237],{"categories":2397},[251],{"categories":2399},[],{"categories":2401},[268],{"categories":2403},[251],{"categories":2405},[251],{"categories":2407},[242],{"categories":2409},[],{"categories":2411},[245],{"categories":2413},[245],{"categories":2415},[245],{"categories":2417},[242],{"categories":2419},[268],{"categories":2421},[],{"categories":2423},[232],{"categories":2425},[283],{"categories":2427},[283],{"categories":2429},[196],{"categories":2431},[232],{"categories":2433},[237],{"categories":2435},[196],{"categories":2437},[],{"categories":2439},[237],{"categories":2441},[237],{"categories":2443},[237],{"categories":2445},[268],{"categories":2447},[232],{"categories":2449},[268],{"categories":2451},[],{"categories":2453},[],{"categories":2455},[],{"categories":2457},[251],{"categories":2459},[242],{"categories":2461},[],{"categories":2463},[283],{"categories":2465},[248],{"categories":2467},[],{"categories":2469},[245],{"categories":2471},[],{"categories":2473},[248],{"categories":2475},[268],{"categories":2477},[283],{"categories":2479},[232],{"categories":2481},[],{"categories":2483},[248],{"categories":2485},[248],{"categories":2487},[268],{"categories":2489},[],{"categories":2491},[],{"categories":2493},[251],{"categories":2495},[268],{"categories":2497},[],{"categories":2499},[242],{"categories":2501},[268],{"categories":2503},[],{"categories":2505},[251],{"categories":2507},[242],{"categories":2509},[268],{"categories":2511},[196],{"categories":2513},[268],{"categories":2515},[],{"categories":2517},[196],{"categories":2519},[268],{"categories":2521},[251],{"categories":2523},[268],{"categories":2525},[196],{"categories":2527},[242],{"categories":2529},[268],{"categories":2531},[268],{"categories":2533},[268,242],{"categories":2535},[242],{"categories":2537},[242],{"categories":2539},[242],{"categories":2541},[248],{"categories":2543},[283],{"categories":2545},[268],{"categories":2547},[283],{"categories":2549},[248],{"categories":2551},[268],{"categories":2553},[],{"categories":2555},[],{"categories":2557},[268],{"categories":2559},[268],{"categories":2561},[268],{"categories":2563},[242],{"categories":2565},[268],{"categories":2567},[],{"categories":2569},[268],{"categories":2571},[268],{"categories":2573},[242],{"categories":2575},[242],{"categories":2577},[268],{"categories":2579},[268],{"categories":2581},[],{"categories":2583},[268],{"categories":2585},[],{"categories":2587},[268],{"categories":2589},[268],{"categories":2591},[268],{"categories":2593},[268],{"categories":2595},[268],{"categories":2597},[268],{"categories":2599},[268],{"categories":2601},[],{"categories":2603},[268],{"categories":2605},[237],{"categories":2607},[237],{"categories":2609},[],{"categories":2611},[],{"categories":2613},[268],{"categories":2615},[],{"categories":2617},[268],{"categories":2619},[268,592],{"categories":2621},[],{"categories":2623},[237],{"categories":2625},[],{"categories":2627},[268],{"categories":2629},[],{"categories":2631},[],{"categories":2633},[],{"categories":2635},[268],{"categories":2637},[],{"categories":2639},[268],{"categories":2641},[],{"categories":2643},[268],{"categories":2645},[268],{"categories":2647},[],{"categories":2649},[],{"categories":2651},[268,592],{"categories":2653},[592,268],{"categories":2655},[237],{"categories":2657},[],{"categories":2659},[268],{"categories":2661},[],{"categories":2663},[268],{"categories":2665},[268],{"categories":2667},[],{"categories":2669},[237],{"categories":2671},[268,232],{"categories":2673},[237],{"categories":2675},[251],{"categories":2677},[],{"categories":2679},[242],{"categories":2681},[268],{"categories":2683},[245],{"categories":2685},[268],{"categories":2687},[283],{"categories":2689},[283],{"categories":2691},[592],{"categories":2693},[237],{"categories":2695},[268],{"categories":2697},[592],{"categories":2699},[251],{"categories":2701},[268],{"categories":2703},[283],{"categories":2705},[],{"categories":2707},[268],{"categories":2709},[],{"categories":2711},[],{"categories":2713},[268],{"categories":2715},[],{"categories":2717},[268],{"categories":2719},[251],{"categories":2721},[232],{"categories":2723},[283],{"categories":2725},[245],{"categories":2727},[242],{"categories":2729},[283],{"categories":2731},[],{"categories":2733},[245],{"categories":2735},[],{"categories":2737},[],{"categories":2739},[268],{"categories":2741},[237],{"categories":2743},[245],{"categories":2745},[],{"categories":2747},[268],{"categories":2749},[237],{"categories":2751},[237],{"categories":2753},[245],{"categories":2755},[237],{"categories":2757},[268],{"categories":2759},[237],{"categories":2761},[268],{"categories":2763},[],{"categories":2765},[268],{"categories":2767},[268],{"categories":2769},[268],{"categories":2771},[237],{"categories":2773},[],{"categories":2775},[],{"categories":2777},[248],{"categories":2779},[237],{"categories":2781},[],{"categories":2783},[268],{"categories":2785},[268],{"categories":2787},[268],{"categories":2789},[268],{"categories":2791},[268],{"categories":2793},[268],{"categories":2795},[268],{"categories":2797},[268],{"categories":2799},[268],{"categories":2801},[245],{"categories":2803},[268,248],{"categories":2805},[237],{"categories":2807},[237],{"categories":2809},[268],{"categories":2811},[251],{"categories":2813},[196],{"categories":2815},[268],{"categories":2817},[268],{"categories":2819},[],{"categories":2821},[],{"categories":2823},[268],{"categories":2825},[268],{"categories":2827},[],{"categories":2829},[248],{"categories":2831},[248],{"categories":2833},[283],{"categories":2835},[268],{"categories":2837},[283],{"categories":2839},[268],{"categories":2841},[268],{"categories":2843},[],{"categories":2845},[268],{"categories":2847},[],{"categories":2849},[],{"categories":2851},[268],{"categories":2853},[],{"categories":2855},[],{"categories":2857},[237],{"categories":2859},[],{"categories":2861},[268],{"categories":2863},[268],{"categories":2865},[268],{"categories":2867},[],{"categories":2869},[268],{"categories":2871},[237],{"categories":2873},[679],{"categories":2875},[242],{"categories":2877},[268],{"categories":2879},[],{"categories":2881},[242],{"categories":2883},[268],{"categories":2885},[],{"categories":2887},[268],{"categories":2889},[],{"categories":2891},[242],{"categories":2893},[],{"categories":2895},[],{"categories":2897},[242],{"categories":2899},[242],{"categories":2901},[242],{"categories":2903},[268],{"categories":2905},[],{"categories":2907},[242],{"categories":2909},[242],{"categories":2911},[],{"categories":2913},[],{"categories":2915},[242],{"categories":2917},[268],{"categories":2919},[237],{"categories":2921},[679],{"categories":2923},[245],{"categories":2925},[],{"categories":2927},[248],{"categories":2929},[268],{"categories":2931},[268],{"categories":2933},[232],{"categories":2935},[237],{"categories":2937},[237],{"categories":2939},[237],{"categories":2941},[237],{"categories":2943},[],{"categories":2945},[242],{"categories":2947},[242],{"categories":2949},[242],{"categories":2951},[242],{"categories":2953},[283],{"categories":2955},[268],{"categories":2957},[232],{"categories":2959},[],{"categories":2961},[283],{"categories":2963},[242],{"categories":2965},[248],{"categories":2967},[248],{"categories":2969},[248],{"categories":2971},[248],{"categories":2973},[248],{"categories":2975},[248],{"categories":2977},[268,232],{"categories":2979},[242],{"categories":2981},[232],{"categories":2983},[237],{"categories":2985},[237],{"categories":2987},[283],{"categories":2989},[],{"categories":2991},[],{"categories":2993},[245],{"categories":2995},[],{"categories":2997},[268],{"categories":2999},[245],{"categories":3001},[268],{"categories":3003},[251],{"categories":3005},[242],{"categories":3007},[232],{"categories":3009},[242],{"categories":3011},[251],{"categories":3013},[283],{"categories":3015},[242],{"categories":3017},[],{"categories":3019},[283],{"categories":3021},[],{"categories":3023},[],{"categories":3025},[242],{"categories":3027},[242],{"categories":3029},[242],{"categories":3031},[268],{"categories":3033},[268],{"categories":3035},[268],{"categories":3037},[268],{"categories":3039},[268],{"categories":3041},[],{"categories":3043},[592],{"categories":3045},[268],{"categories":3047},[],{"categories":3049},[],{"categories":3051},[],{"categories":3053},[283],{"categories":3055},[],{"categories":3057},[268],{"categories":3059},[],{"categories":3061},[237],{"categories":3063},[268],{"categories":3065},[237],{"categories":3067},[268],{"categories":3069},[242],{"categories":3071},[],{"categories":3073},[268],{"categories":3075},[268],{"categories":3077},[],{"categories":3079},[196],{"categories":3081},[196],{"categories":3083},[251],{"categories":3085},[248],{"categories":3087},[],{"categories":3089},[268],{"categories":3091},[242],{"categories":3093},[],{"categories":3095},[],{"categories":3097},[268],{"categories":3099},[251],{"categories":3101},[242],{"categories":3103},[232],{"categories":3105},[283,251],{"categories":3107},[251],{"categories":3109},[268],{"categories":3111},[242],{"categories":3113},[],{"categories":3115},[],{"categories":3117},[],{"categories":3119},[],{"categories":3121},[],{"categories":3123},[],{"categories":3125},[268],{"categories":3127},[],{"categories":3129},[],{"categories":3131},[268],{"categories":3133},[],{"categories":3135},[],{"categories":3137},[],{"categories":3139},[268],{"categories":3141},[237],{"categories":3143},[],{"categories":3145},[],{"categories":3147},[],{"categories":3149},[268],{"categories":3151},[],{"categories":3153},[268],{"categories":3155},[268],{"categories":3157},[],{"categories":3159},[268],{"categories":3161},[251],{"categories":3163},[],{"categories":3165},[283],{"categories":3167},[283],{"categories":3169},[],{"categories":3171},[245],{"categories":3173},[],{"categories":3175},[],{"categories":3177},[],{"categories":3179},[248],{"categories":3181},[237],{"categories":3183},[242],{"categories":3185},[268],{"categories":3187},[232],{"categories":3189},[268],{"categories":3191},[],{"categories":3193},[],{"categories":3195},[232],{"categories":3197},[245],{"categories":3199},[242],{"categories":3201},[],{"categories":3203},[592],{"categories":3205},[],{"categories":3207},[245],{"categories":3209},[268],{"categories":3211},[268],{"categories":3213},[245],{"categories":3215},[268],{"categories":3217},[248],{"categories":3219},[242],{"categories":3221},[268],{"categories":3223},[242],{"categories":3225},[268],{"categories":3227},[242],{"categories":3229},[283],{"categories":3231},[283],{"categories":3233},[248],{"categories":3235},[],{"categories":3237},[268],{"categories":3239},[268],{"categories":3241},[245],{"categories":3243},[679],{"categories":3245},[283],{"categories":3247},[237],{"categories":3249},[268],{"categories":3251},[237],{"categories":3253},[268],{"categories":3255},[268],{"categories":3257},[],{"categories":3259},[268],{"categories":3261},[],{"categories":3263},[268],{"categories":3265},[245],{"categories":3267},[268],{"categories":3269},[268],{"categories":3271},[268],{"categories":3273},[],{"categories":3275},[268],{"categories":3277},[268],{"categories":3279},[679],{"categories":3281},[],{"categories":3283},[237],{"categories":3285},[592],{"categories":3287},[251],{"categories":3289},[],{"categories":3291},[196],{"categories":3293},[],{"categories":3295},[],{"categories":3297},[237],{"categories":3299},[268],{"categories":3301},[],{"categories":3303},[268],{"categories":3305},[268],{"categories":3307},[242],{"categories":3309},[268],{"categories":3311},[237],{"categories":3313},[237],{"categories":3315},[248],{"categories":3317},[248],{"categories":3319},[248],{"categories":3321},[268],{"categories":3323},[196],{"categories":3325},[237],{"categories":3327},[283],{"categories":3329},[],{"categories":3331},[248],{"categories":3333},[248],{"categories":3335},[592],{"categories":3337},[248],{"categories":3339},[248],{"categories":3341},[242],{"categories":3343},[237],{"categories":3345},[592],{"categories":3347},[268],{"categories":3349},[268],{"categories":3351},[268],{"categories":3353},[268],{"categories":3355},[],{"categories":3357},[242],{"categories":3359},[268],{"categories":3361},[248],{"categories":3363},[],{"categories":3365},[],{"categories":3367},[237],{"categories":3369},[],{"categories":3371},[242],{"categories":3373},[242],{"categories":3375},[242],{"categories":3377},[242],{"categories":3379},[242],{"categories":3381},[242],{"categories":3383},[242],{"categories":3385},[242],{"categories":3387},[],{"categories":3389},[],{"categories":3391},[268],{"categories":3393},[],{"categories":3395},[242],{"categories":3397},[283],{"categories":3399},[283],{"categories":3401},[196],{"categories":3403},[232],{"categories":3405},[],{"categories":3407},[],{"categories":3409},[],{"categories":3411},[248],{"categories":3413},[268],{"categories":3415},[],{"categories":3417},[232],{"categories":3419},[232],{"categories":3421},[248],{"categories":3423},[283],{"categories":3425},[196],{"categories":3427},[248],{"categories":3429},[248],{"categories":3431},[],{"categories":3433},[242],{"categories":3435},[232],{"categories":3437},[232],{"categories":3439},[268],{"categories":3441},[242],{"categories":3443},[251],{"categories":3445},[248],{"categories":3447},[],{"categories":3449},[245],{"categories":3451},[196],{"categories":3453},[237],{"categories":3455},[237],{"categories":3457},[237],{"categories":3459},[592],{"categories":3461},[],{"categories":3463},[242],{"categories":3465},[],{"categories":3467},[242],{"categories":3469},[242],{"categories":3471},[268],{"categories":3473},[268],{"categories":3475},[251],{"categories":3477},[242],{"categories":3479},[251],{"categories":3481},[],{"categories":3483},[242],{"categories":3485},[248],{"categories":3487},[248],{"categories":3489},[248],{"categories":3491},[268],{"categories":3493},[242],{"categories":3495},[268],{"categories":3497},[232],{"categories":3499},[237],{"categories":3501},[248],{"categories":3503},[237],{"categories":3505},[268],{"categories":3507},[],{"categories":3509},[237],{"categories":3511},[242],{"categories":3513},[237],{"categories":3515},[237],{"categories":3517},[237],{"categories":3519},[237],{"categories":3521},[],{"categories":3523},[],{"categories":3525},[237],{"categories":3527},[237],{"categories":3529},[],{"categories":3531},[237],{"categories":3533},[237],{"categories":3535},[268],{"categories":3537},[268],{"categories":3539},[237],{"categories":3541},[237],{"categories":3543},[268],{"categories":3545},[],{"categories":3547},[268],{"categories":3549},[242],{"categories":3551},[268],{"categories":3553},[268],{"categories":3555},[],{"categories":3557},[268],{"categories":3559},[268],{"categories":3561},[268],{"categories":3563},[237],{"categories":3565},[],{"categories":3567},[],{"categories":3569},[],{"categories":3571},[],{"categories":3573},[268],{"categories":3575},[268],{"categories":3577},[],{"categories":3579},[245],{"categories":3581},[237],{"categories":3583},[],{"categories":3585},[],{"categories":3587},[],{"categories":3589},[],{"categories":3591},[],{"categories":3593},[268],{"categories":3595},[],{"categories":3597},[],{"categories":3599},[268],{"categories":3601},[],{"categories":3603},[242],{"categories":3605},[242],{"categories":3607},[242],{"categories":3609},[232],{"categories":3611},[],{"categories":3613},[245],{"categories":3615},[251],{"categories":3617},[251],{"categories":3619},[592],{"categories":3621},[237],{"categories":3623},[],{"categories":3625},[268],{"categories":3627},[268],{"categories":3629},[232],{"categories":3631},[],{"categories":3633},[232],{"categories":3635},[],{"categories":3637},[],{"categories":3639},[],{"categories":3641},[251],{"categories":3643},[242],{"categories":3645},[242],{"categories":3647},[242],{"categories":3649},[242],{"categories":3651},[242],{"categories":3653},[],{"categories":3655},[237],{"categories":3657},[268],{"categories":3659},[268],{"categories":3661},[268],{"categories":3663},[],{"categories":3665},[232],{"categories":3667},[],{"categories":3669},[248],{"categories":3671},[196],{"categories":3673},[248],{"categories":3675},[],{"categories":3677},[],{"categories":3679},[268],{"categories":3681},[242],{"categories":3683},[],{"categories":3685},[268],{"categories":3687},[268],{"categories":3689},[268],{"categories":3691},[242],{"categories":3693},[242],{"categories":3695},[268],{"categories":3697},[196],{"categories":3699},[242],{"categories":3701},[],{"categories":3703},[268],{"categories":3705},[],{"categories":3707},[679],{"categories":3709},[251],{"categories":3711},[196],{"categories":3713},[251],{"categories":3715},[592],{"categories":3717},[268],{"categories":3719},[251],{"categories":3721},[237],{"categories":3723},[592],{"categories":3725},[251],{"categories":3727},[248],{"categories":3729},[248],{"categories":3731},[],{"categories":3733},[251],{"categories":3735},[],{"categories":3737},[283],{"categories":3739},[251],{"categories":3741},[],{"categories":3743},[196],{"categories":3745},[196],{"categories":3747},[679],{"categories":3749},[],{"categories":3751},[268],{"categories":3753},[251],{"categories":3755},[592],{"categories":3757},[242],{"categories":3759},[242],{"categories":3761},[196],{"categories":3763},[268],{"categories":3765},[283],{"categories":3767},[268],{"categories":3769},[],{"categories":3771},[],{"categories":3773},[],{"categories":3775},[245],{"categories":3777},[268],{"categories":3779},[248],{"categories":3781},[251],{"categories":3783},[251],{"categories":3785},[268],{"categories":3787},[245],{"categories":3789},[283],{"categories":3791},[268],{"categories":3793},[251],{"categories":3795},[268],{"categories":3797},[251],{"categories":3799},[283],{"categories":3801},[283],{"categories":3803},[242],{"categories":3805},[283],{"categories":3807},[251],{"categories":3809},[232],{"categories":3811},[251],{"categories":3813},[251],{"categories":3815},[251],{"categories":3817},[251],{"categories":3819},[],{"categories":3821},[237],{"categories":3823},[],{"categories":3825},[196],{"categories":3827},[268],{"categories":3829},[268],{"categories":3831},[],{"categories":3833},[],{"categories":3835},[],{"categories":3837},[268],{"categories":3839},[237],{"categories":3841},[268],{"categories":3843},[268],{"categories":3845},[],{"categories":3847},[268],{"categories":3849},[248],{"categories":3851},[268],{"categories":3853},[268],{"categories":3855},[268],{"categories":3857},[],{"categories":3859},[],{"categories":3861},[],{"categories":3863},[592],{"categories":3865},[592],{"categories":3867},[232],{"categories":3869},[242],{"categories":3871},[232,245],{"categories":3873},[268],{"categories":3875},[237],{"categories":3877},[],{"categories":3879},[248],{"categories":3881},[196],{"categories":3883},[268],{"categories":3885},[251],{"categories":3887},[268],{"categories":3889},[],{"categories":3891},[196],{"categories":3893},[592],{"categories":3895},[242],{"categories":3897},[232],{"categories":3899},[592],{"categories":3901},[242],{"categories":3903},[283],{"categories":3905},[242],{"categories":3907},[283],{"categories":3909},[268],{"categories":3911},[283],{"categories":3913},[283],{"categories":3915},[251],{"categories":3917},[196],{"categories":3919},[268],{"categories":3921},[245],{"categories":3923},[],{"categories":3925},[268],{"categories":3927},[248],{"categories":3929},[196],{"categories":3931},[232],{"categories":3933},[268],{"categories":3935},[196],{"categories":3937},[283],{"categories":3939},[268],{"categories":3941},[268],{"categories":3943},[196],{"categories":3945},[268],{"categories":3947},[283],{"categories":3949},[268],{"categories":3951},[],{"categories":3953},[268],{"categories":3955},[268],{"categories":3957},[268],{"categories":3959},[268],{"categories":3961},[],{"categories":3963},[242],{"categories":3965},[592],{"categories":3967},[],{"categories":3969},[],{"categories":3971},[268],{"categories":3973},[232],{"categories":3975},[245],{"categories":3977},[232],{"categories":3979},[232],{"categories":3981},[242],{"categories":3983},[],{"categories":3985},[268],{"categories":3987},[237],{"categories":3989},[268],{"categories":3991},[268],{"categories":3993},[],{"categories":3995},[242],{"categories":3997},[237],{"categories":3999},[268,592],{"categories":4001},[242,592],{"categories":4003},[592],{"categories":4005},[268],{"categories":4007},[242],{"categories":4009},[242],{"categories":4011},[251],{"categories":4013},[251],{"categories":4015},[251],{"categories":4017},[268],{"categories":4019},[248],{"categories":4021},[242],{"categories":4023},[],{"categories":4025},[592],{"categories":4027},[],{"categories":4029},[592],{"categories":4031},[592],{"categories":4033},[232],{"categories":4035},[242],{"categories":4037},[],{"categories":4039},[592],{"categories":4041},[268],{"categories":4043},[237],{"categories":4045},[268],{"categories":4047},[248],{"categories":4049},[251],{"categories":4051},[251],{"categories":4053},[251],{"categories":4055},[592],{"categories":4057},[],{"categories":4059},[],{"categories":4061},[],{"categories":4063},[268],{"categories":4065},[251],{"categories":4067},[268],{"categories":4069},[251],{"categories":4071},[592],{"categories":4073},[592],{"categories":4075},[268],{"categories":4077},[242],{"categories":4079},[],{"categories":4081},[268],{"categories":4083},[268],{"categories":4085},[268],{"categories":4087},[],{"categories":4089},[],{"categories":4091},[592],{"categories":4093},[592],{"categories":4095},[268,592],{"categories":4097},[242],{"categories":4099},[242],{"categories":4101},[242],{"categories":4103},[242],{"categories":4105},[242],{"categories":4107},[242],{"categories":4109},[],{"categories":4111},[251],{"categories":4113},[268],{"categories":4115},[251],{"categories":4117},[245],{"categories":4119},[268],{"categories":4121},[679],{"categories":4123},[679],{"categories":4125},[242],{"categories":4127},[251],{"categories":4129},[],{"categories":4131},[242],{"categories":4133},[268],{"categories":4135},[],{"categories":4137},[248],{"categories":4139},[],{"categories":4141},[268],{"categories":4143},[242],{"categories":4145},[237],{"categories":4147},[268],{"categories":4149},[],{"categories":4151},[],{"categories":4153},[248],{"categories":4155},[248],{"categories":4157},[283],{"categories":4159},[248],{"categories":4161},[242],{"categories":4163},[],{"categories":4165},[242],{"categories":4167},[237],{"categories":4169},[268],{"categories":4171},[268],{"categories":4173},[],{"categories":4175},[268],{"categories":4177},[283],{"categories":4179},[268],{"categories":4181},[],{"categories":4183},[196],{"categories":4185},[251],{"categories":4187},[251],{"categories":4189},[232],{"categories":4191},[232],{"categories":4193},[232],{"categories":4195},[242],{"categories":4197},[232],{"categories":4199},[242],{"categories":4201},[592],{"categories":4203},[679],{"categories":4205},[237],{"categories":4207},[237],{"categories":4209},[237],{"categories":4211},[592],{"categories":4213},[237,232],{"categories":4215},[196],{"categories":4217},[242],{"categories":4219},[],{"categories":4221},[268],{"categories":4223},[],{"categories":4225},[251],{"categories":4227},[196],{"categories":4229},[248],{"categories":4231},[251],{"categories":4233},[283],{"categories":4235},[],{"categories":4237},[242],{"categories":4239},[],{"categories":4241},[679],{"categories":4243},[],{"categories":4245},[248],{"categories":4247},[248],{"categories":4249},[196],{"categories":4251},[],{"categories":4253},[268],{"categories":4255},[196],{"categories":4257},[],{"categories":4259},[268],{"categories":4261},[268],{"categories":4263},[],{"categories":4265},[283],{"categories":4267},[268],{"categories":4269},[],{"categories":4271},[268],{"categories":4273},[],{"categories":4275},[],{"categories":4277},[242],{"categories":4279},[242],{"categories":4281},[],{"categories":4283},[251],{"categories":4285},[251],{"categories":4287},[251],{"categories":4289},[268,242],{"categories":4291},[242],{"categories":4293},[242],{"categories":4295},[242],{"categories":4297},[196],{"categories":4299},[196],{"categories":4301},[],{"categories":4303},[237],{"categories":4305},[268],{"categories":4307},[196],{"categories":4309},[196],{"categories":4311},[237],{"categories":4313},[232],{"categories":4315},[242],{"categories":4317},[251],{"categories":4319},[268],{"categories":4321},[268],{"categories":4323},[242],{"categories":4325},[251],{"categories":4327},[242],{"categories":4329},[268],{"categories":4331},[245],{"categories":4333},[],{"categories":4335},[268],{"categories":4337},[],{"categories":4339},[268],{"categories":4341},[268],{"categories":4343},[251],{"categories":4345},[],{"categories":4347},[196],{"categories":4349},[268],{"categories":4351},[242],{"categories":4353},[242],{"categories":4355},[251],{"categories":4357},[283],{"categories":4359},[283],{"categories":4361},[237],{"categories":4363},[268],{"categories":4365},[242],{"categories":4367},[],{"categories":4369},[242],{"categories":4371},[268],{"categories":4373},[237],{"categories":4375},[268],{"categories":4377},[268],{"categories":4379},[268],{"categories":4381},[242],{"categories":4383},[196],{"categories":4385},[268],{"categories":4387},[248],{"categories":4389},[268],{"categories":4391},[268],{"categories":4393},[268],{"categories":4395},[268],{"categories":4397},[],{"categories":4399},[268],{"categories":4401},[196],{"categories":4403},[248],{"categories":4405},[268],{"categories":4407},[248],{"categories":4409},[],{"categories":4411},[],{"categories":4413},[],{"categories":4415},[268],{"categories":4417},[],{"categories":4419},[],{"categories":4421},[],{"categories":4423},[],{"categories":4425},[242],{"categories":4427},[283],{"categories":4429},[242],{"categories":4431},[242],{"categories":4433},[251],{"categories":4435},[232],{"categories":4437},[268],{"categories":4439},[268],{"categories":4441},[268],{"categories":4443},[232],{"categories":4445},[283],{"categories":4447},[],{"categories":4449},[196],{"categories":4451},[245],{"categories":4453},[268],{"categories":4455},[248],{"categories":4457},[283],{"categories":4459},[283],{"categories":4461},[679],{"categories":4463},[242],{"categories":4465},[268],{"categories":4467},[268],{"categories":4469},[283],{"categories":4471},[268],{"categories":4473},[],{"categories":4475},[],{"categories":4477},[592],{"categories":4479},[248],{"categories":4481},[283],{"categories":4483},[268],{"categories":4485},[237],{"categories":4487},[283],{"categories":4489},[232],{"categories":4491},[242],{"categories":4493},[242],{"categories":4495},[237],{"categories":4497},[268],{"categories":4499},[],{"categories":4501},[],{"categories":4503},[],{"categories":4505},[268],{"categories":4507},[],{"categories":4509},[237],{"categories":4511},[],{"categories":4513},[268],{"categories":4515},[],{"categories":4517},[237],{"categories":4519},[242],{"categories":4521},[268],{"categories":4523},[592],{"categories":4525},[268],{"categories":4527},[283],{"categories":4529},[268],{"categories":4531},[283],{"categories":4533},[283],{"categories":4535},[],{"categories":4537},[],{"categories":4539},[283],{"categories":4541},[283],{"categories":4543},[283],{"categories":4545},[],{"categories":4547},[283],{"categories":4549},[242],{"categories":4551},[242],{"categories":4553},[],{"categories":4555},[268],{"categories":4557},[245],{"categories":4559},[196],{"categories":4561},[268],{"categories":4563},[],{"categories":4565},[283],{"categories":4567},[268],{"categories":4569},[679],{"categories":4571},[283],{"categories":4573},[283],{"categories":4575},[245],{"categories":4577},[251],{"categories":4579},[251],{"categories":4581},[],{"categories":4583},[251],{"categories":4585},[268],{"categories":4587},[],{"categories":4589},[],{"categories":4591},[242],{"categories":4593},[],{"categories":4595},[242],{"categories":4597},[242],{"categories":4599},[237],{"categories":4601},[268],{"categories":4603},[237],{"categories":4605},[283],{"categories":4607},[237],{"categories":4609},[251],{"categories":4611},[251],{"categories":4613},[251],{"categories":4615},[237],{"categories":4617},[268],{"categories":4619},[242],{"categories":4621},[592],{"categories":4623},[232],{"categories":4625},[592],{"categories":4627},[592],{"categories":4629},[251],{"categories":4631},[592],{"categories":4633},[592],[4635,4821,5000,5063],{"id":4636,"title":4637,"ai":4638,"body":4643,"categories":4807,"created_at":197,"date_modified":197,"description":59,"extension":198,"faq":197,"featured":199,"kicker_label":197,"meta":4808,"navigation":211,"path":4809,"published_at":4810,"question":197,"scraped_at":197,"seo":4811,"sitemap":4812,"source_id":4813,"source_name":4814,"source_type":219,"source_url":4815,"stem":4816,"tags":4817,"thumbnail_url":197,"tldr":4818,"tweet":197,"unknown_tags":4819,"__hash__":4820},"summaries\u002Fsummaries\u002Fminimal-numpy-rnn-for-char-level-text-gen-summary.md","Minimal NumPy RNN for Char-Level Text Gen",{"provider":7,"model":8,"input_tokens":4639,"output_tokens":4640,"processing_time_ms":4641,"cost_usd":4642},10743,1482,11844,0.0024192,{"type":14,"value":4644,"toc":4802},[4645,4649,4664,4687,4706,4710,4729,4753,4760,4764,4774,4789,4799],[17,4646,4648],{"id":4647},"rnn-architecture-and-one-hot-encoding","RNN Architecture and One-Hot Encoding",[22,4650,4651,4652,4655,4656,4659,4660,4663],{},"Load text from 'input.txt' into ",[61,4653,4654],{},"data",", extract unique ",[61,4657,4658],{},"chars"," for vocabulary (vocab_size = len(chars)). Map chars to indices with ",[61,4661,4662],{},"char_to_ix"," and reverse. Use one-hot encoding: inputs are lists of indices turned into (vocab_size, 1) vectors with 1 at input index.",[22,4665,4666,4667,4670,4671,4674,4675,4678,4679,4682,4683,4686],{},"Hidden layer size fixed at 100 neurons (",[61,4668,4669],{},"hidden_size=100","), sequence length 25 (",[61,4672,4673],{},"seq_length=25","), learning rate 0.1. Weights initialized small: ",[61,4676,4677],{},"Wxh = np.random.randn(100, vocab_size)*0.01"," (input-to-hidden), ",[61,4680,4681],{},"Whh"," (hidden-to-hidden, 100x100), ",[61,4684,4685],{},"Why"," (hidden-to-output, vocab_size x 100). Biases zero-initialized. Scaling by 0.01 keeps initial activations small for tanh stability and breaks symmetry so hidden units learn distinct features.",[22,4688,4689,4690,4693,4694,4697,4698,4701,4702,4705],{},"Forward step per timestep t: ",[61,4691,4692],{},"hs[t] = tanh(Wxh @ xs[t] + Whh @ hs[t-1] + bh)",", then ",[61,4695,4696],{},"ys[t] = Why @ hs[t] + by",", softmax ",[61,4699,4700],{},"ps[t] = exp(ys[t])\u002Fsum(exp(ys[t]))"," for next-char probs. Loss is negative log-likelihood: sum -log(ps[t]",[26,4703,4704],{},"target",").",[17,4707,4709],{"id":4708},"backpropagation-through-time-and-gradients","Backpropagation Through Time and Gradients",[22,4711,4712,4713,4716,4717,4720,4721,4724,4725,4728],{},"In ",[61,4714,4715],{},"lossFun(inputs, targets, hprev)",": forward pass stores xs, hs, ys, ps for all timesteps. Backward pass starts from output: ",[61,4718,4719],{},"dy = ps[t].copy(); dy[target] -= 1"," (softmax + cross-entropy gradient simplifies to this). Accumulate ",[61,4722,4723],{},"dWhy += dy @ hs[t].T",", ",[61,4726,4727],{},"dby += dy",".",[22,4730,4731,4732,4735,4736,4739,4740,4724,4743,4724,4746,4724,4749,4752],{},"Propagate to hidden: ",[61,4733,4734],{},"dh = Why.T @ dy + dhnext"," (dhnext from future timestep), ",[61,4737,4738],{},"dhraw = (1 - hs[t]^2) * dh"," (tanh derivative), then ",[61,4741,4742],{},"dbh += dhraw",[61,4744,4745],{},"dWxh += dhraw @ xs[t].T",[61,4747,4748],{},"dWhh += dhraw @ hs[t-1].T",[61,4750,4751],{},"dhnext = Whh.T @ dhraw"," for prior timestep.",[22,4754,4755,4756,4759],{},"Clip all gradients to ",[26,4757,4758],{},"-5, 5"," to prevent exploding gradients. Returns total loss, all dparams, final h for next sequence.",[17,4761,4763],{"id":4762},"adagrad-training-and-text-sampling","Adagrad Training and Text Sampling",[22,4765,4766,4767,4770,4771,4728],{},"Infinite loop sweeps data left-to-right in seq_length=25 chunks: reset hprev=zeros every epoch (when p >= len(data)). Compute inputs\u002Ftargets as char indices for data",[26,4768,4769],{},"p:p+25"," and shifted ",[26,4772,4773],{},"p+1:p+26",[22,4775,4776,4777,4780,4781,4784,4785,4788],{},"Every 100 iterations: sample 200 chars from model starting with inputs",[26,4778,4779],{},"0"," seed: forward like training but pick ",[61,4782,4783],{},"ix = np.random.choice(vocab_size, p=ps.ravel())",", decode to text, print. Smooth loss: ",[61,4786,4787],{},"smooth_loss *= 0.999 + loss * 0.001",", print every 100 iters.",[22,4790,4791,4792,4724,4795,4798],{},"Update with Adagrad: mem vars track ",[61,4793,4794],{},"mem += dparam**2",[61,4796,4797],{},"param -= lr * dparam \u002F sqrt(mem + 1e-8)",". Advance p by 25, n +=1. Initial smooth_loss = -log(1\u002Fvocab_size)*25.",[22,4800,4801],{},"Common issues: input.txt must exceed seq_length+1 chars (else IndexError in loss); large datasets like Shakespeare need 100k+ iters for loss ~3.0 and coherent text.",{"title":59,"searchDepth":72,"depth":72,"links":4803},[4804,4805,4806],{"id":4647,"depth":72,"text":4648},{"id":4708,"depth":72,"text":4709},{"id":4762,"depth":72,"text":4763},[196],{},"\u002Fsummaries\u002Fminimal-numpy-rnn-for-char-level-text-gen-summary","2026-04-08 21:21:20",{"title":4637,"description":59},{"loc":4809},"7fdb0ca0899660d5","Andrej Karpathy Gists","https:\u002F\u002Funknown","summaries\u002Fminimal-numpy-rnn-for-char-level-text-gen-summary",[58,223,224],"Build a vanilla RNN language model from scratch in ~170 lines of NumPy: processes text chunks of 25 chars, trains with BPTT and Adagrad, generates samples after 100 iterations.",[],"ytSsn8v5OXyfyPKcCX7WUMYHNuzZlEdeMutJWRk1eM0",{"id":4822,"title":4823,"ai":4824,"body":4829,"categories":4989,"created_at":197,"date_modified":197,"description":59,"extension":198,"faq":197,"featured":199,"kicker_label":197,"meta":4990,"navigation":211,"path":4991,"published_at":4810,"question":197,"scraped_at":197,"seo":4992,"sitemap":4993,"source_id":4994,"source_name":4814,"source_type":219,"source_url":4815,"stem":4995,"tags":4996,"thumbnail_url":197,"tldr":4997,"tweet":197,"unknown_tags":4998,"__hash__":4999},"summaries\u002Fsummaries\u002Fnumpy-batched-lstm-forward-backward-summary.md","NumPy Batched LSTM Forward\u002FBackward",{"provider":7,"model":8,"input_tokens":4825,"output_tokens":4826,"processing_time_ms":4827,"cost_usd":4828},8684,1415,14034,0.0019739,{"type":14,"value":4830,"toc":4983},[4831,4835,4838,4842,4849,4898,4901,4905,4915,4970,4973,4977,4980],[17,4832,4834],{"id":4833},"parameter-initialization-for-stable-training","Parameter Initialization for Stable Training",[22,4836,4837],{},"LSTM weights form a single matrix WLSTM of shape (input_size + hidden_size + 1, 4 * hidden_size), with +1 for biases as the first row. Use Xavier initialization: random normal scaled by 1\u002Fsqrt(input_size + hidden_size). Set biases to zero initially, but apply 'fancy_forget_bias_init=3' to forget gate biases (indices hidden_size:2*hidden_size) to start with negative bias, encouraging forget gates to stay off early in training since raw gate outputs are ~N(0,1).",[17,4839,4841],{"id":4840},"batched-forward-pass-logic","Batched Forward Pass Logic",[22,4843,4844,4845,4848],{},"Input X: (n,b,input_size). Hidden d = WLSTM.shape",[26,4846,4847],{},"1","\u002F4. Init c0\u002Fh0 as zeros((b,d)) if None. For each timestep t:",[4850,4851,4852,4872,4881,4884,4890],"ul",{},[4853,4854,4855,4856,4859,4860,4863,4864,4867,4868,4871],"li",{},"Build Hin",[26,4857,4858],{},"t,:,0","=1 (bias), Hin",[26,4861,4862],{},"t,:,1:input_size+1","=X",[26,4865,4866],{},"t",", Hin",[26,4869,4870],{},"t,:,input_size+1:","=prev_h (h0 at t=0).",[4853,4873,4874,4875,4877,4878,4880],{},"Compute raw IFOG",[26,4876,4866],{}," = Hin",[26,4879,4866],{}," @ WLSTM (main compute).",[4853,4882,4883],{},"Gates: sigmoid on first 3*d (input\u002Fforget\u002Foutput), tanh on last d (gate candidate).",[4853,4885,4886,4887,4889],{},"Cell C",[26,4888,4866],{}," = input_gate * gate_candidate + forget_gate * prev_c.",[4853,4891,4892,4893,4895,4896,4705],{},"Output Hout",[26,4894,4866],{}," = output_gate * tanh(C",[26,4897,4866],{},[22,4899,4900],{},"Cache stores all intermediates (Hin, IFOG, IFOGf, C, Ct, etc.) for backward. Returns full Hout (n,b,d), final C\u002FH, cache.",[17,4902,4904],{"id":4903},"backward-pass-gradient-computation","Backward Pass Gradient Computation",[22,4906,4907,4908,4911,4912,4914],{},"Input dHout_in (n,b,d). Accumulate dC",[26,4909,4910],{},"n-1","\u002FdHout",[26,4913,4910],{}," if provided for state carryover. Reverse loop over t:",[4850,4916,4917,4925,4934,4937,4952],{},[4853,4918,4919,4920,4922,4923,4728],{},"dIFOGf output slice (2d:3d) = tanh(Ct",[26,4921,4866],{},") * dHout",[26,4924,4866],{},[4853,4926,4927,4928,4930,4931,4933],{},"dC",[26,4929,4866],{}," from tanh' * output_gate * dHout",[26,4932,4866],{},", plus forget\u002Finput contributions to prev_c.",[4853,4935,4936],{},"Backprop activations: tanh' on gate candidate, sigmoid'=(y(1-y)) on gates.",[4853,4938,4939,4940,4942,4943,4945,4946,4948,4949,4951],{},"dWLSTM += Hin",[26,4941,4866],{},".T @ dIFOG",[26,4944,4866],{},"; dHin",[26,4947,4866],{}," = dIFOG",[26,4950,4866],{}," @ WLSTM.T.",[4853,4953,4954,4955,4957,4958,4961,4962,4965,4966,4969],{},"Extract dX",[26,4956,4866],{}," = dHin",[26,4959,4960],{},"t,1:input+1","; propagate dHout",[26,4963,4964],{},"t-1","\u002Fdh0 from dHin",[26,4967,4968],{},"t,input+1:","; dc0\u002Fdh0 similarly.",[22,4971,4972],{},"Returns dX (n,b,input), dWLSTM, dc0, dh0.",[17,4974,4976],{"id":4975},"verification-ensures-correctness","Verification Ensures Correctness",[22,4978,4979],{},"Test 1 (sequential vs batch): n=5,b=3,d=4,input=10. Run forward sequentially (one timestep at a time, carrying c\u002Fh), confirm Hout matches full batch forward.",[22,4981,4982],{},"Test 2 (gradient check): Numerical grad = (fwd(+δ) - fwd(-δ))\u002F(2δ), δ=1e-5. Relative error threshold warning=1e-2, error=1. Checks every element of X\u002FWLSTM\u002Fc0\u002Fh0 against analytic grads from loss = sum(H * wrand). All params pass with low error, confirming backprop accuracy.",{"title":59,"searchDepth":72,"depth":72,"links":4984},[4985,4986,4987,4988],{"id":4833,"depth":72,"text":4834},{"id":4840,"depth":72,"text":4841},{"id":4903,"depth":72,"text":4904},{"id":4975,"depth":72,"text":4976},[196],{},"\u002Fsummaries\u002Fnumpy-batched-lstm-forward-backward-summary",{"title":4823,"description":59},{"loc":4991},"ed69ec8dcc565dc4","summaries\u002Fnumpy-batched-lstm-forward-backward-summary",[58,223,224],"Efficient pure NumPy LSTM processes batched sequences (n,b,input_size); init with Xavier + forget bias=3; verified via sequential match and numerical gradients.",[],"5dD3n1TS6LbPVttHG7t_U-CvXEtPl5LjBkztvfD9Gxw",{"id":5001,"title":5002,"ai":5003,"body":5008,"categories":5042,"created_at":197,"date_modified":197,"description":59,"extension":198,"faq":197,"featured":199,"kicker_label":197,"meta":5043,"navigation":211,"path":5050,"published_at":5051,"question":197,"scraped_at":5052,"seo":5053,"sitemap":5054,"source_id":5055,"source_name":5056,"source_type":219,"source_url":5057,"stem":5058,"tags":5059,"thumbnail_url":197,"tldr":5060,"tweet":197,"unknown_tags":5061,"__hash__":5062},"summaries\u002Fsummaries\u002Fbuild-clip-400m-images-zero-labels-via-contrastive-summary.md","Build CLIP: 400M Images, Zero Labels via Contrastive Learning",{"provider":7,"model":8,"input_tokens":5004,"output_tokens":5005,"processing_time_ms":5006,"cost_usd":5007},3968,1967,27931,0.0017546,{"type":14,"value":5009,"toc":5037},[5010,5014,5017,5020,5024,5027,5030,5034],[17,5011,5013],{"id":5012},"contrastive-learning-unlocks-label-free-vision-understanding","Contrastive Learning Unlocks Label-Free Vision Understanding",[22,5015,5016],{},"CLIP discards the need for expensive human labels by training on 400 million image-text pairs scraped from the internet. Instead of predicting fixed categories, it uses a single contrastive objective: align image embeddings with matching text embeddings while pushing non-matching pairs apart. This enables zero-shot transfer—CLIP matches ResNet-101 accuracy on ImageNet without ever seeing its training images—because concepts are learned from natural language descriptions, not rigid labels.",[22,5018,5019],{},"The core intuition: internet-scale data provides diverse, open-vocabulary supervision. Image-text pairs act as weak labels, capturing real-world semantics far beyond curated datasets. Trade-off: scraping introduces noise, but scale overcomes it, yielding robust features for downstream tasks.",[17,5021,5023],{"id":5022},"breaking-supervised-computer-visions-core-assumption","Breaking Supervised Computer Vision's Core Assumption",[22,5025,5026],{},"Traditional visual recognition follows a rigid pipeline: collect images, hire annotators for K fixed categories, train a classifier. This is costly (millions of labels), slow (months of annotation), and brittle—adding categories requires relabeling everything.",[22,5028,5029],{},"CLIP flips this by solving open-vocabulary recognition: understand arbitrary concepts described in text, without predefined classes. Evidence: zero-shot performance rivals supervised models, proving language as a universal visual prior. Failures emerge in niche domains or adversarial shifts, where web data lacks coverage.",[17,5031,5033],{"id":5032},"hands-on-path-to-replicating-clip","Hands-On Path to Replicating CLIP",[22,5035,5036],{},"The guide reconstructs CLIP component-by-component: architectures (vision transformer or ResNet encoder paired with text transformer), data pipeline (web scraping image-text), loss function (symmetric cross-entropy over batch similarities), training details (large-batch distributed training). Expect equations for InfoNCE loss, embedding normalization, and scaling laws. Outcomes: build your own multimodal encoder for tasks like zero-shot classification or generative backbones.",{"title":59,"searchDepth":72,"depth":72,"links":5038},[5039,5040,5041],{"id":5012,"depth":72,"text":5013},{"id":5022,"depth":72,"text":5023},{"id":5032,"depth":72,"text":5033},[],{"content_references":5044,"triage":5048},[5045],{"type":5046,"title":5047,"context":206},"dataset","ImageNet",{"relevance":208,"novelty":78,"quality":208,"actionability":208,"composite":209,"reasoning":5049},"Category: AI & LLMs. The article discusses the innovative approach of CLIP in training vision models without labels, addressing a specific audience pain point about the challenges of traditional supervised learning. It provides a hands-on path to replicate CLIP, which offers actionable insights for developers looking to implement similar techniques.","\u002Fsummaries\u002Fbuild-clip-400m-images-zero-labels-via-contrastive-summary","2026-05-07 04:26:23","2026-05-07 11:23:55",{"title":5002,"description":59},{"loc":5050},"c2c26a41c5a19ef7","Towards AI","https:\u002F\u002Fpub.towardsai.net\u002Fopenai-trained-clip-on-400-million-images-and-never-once-labelled-a-single-one-c54ad5be2369?source=rss----98111c9905da---4","summaries\u002Fbuild-clip-400m-images-zero-labels-via-contrastive-summary",[223,224,225],"CLIP trains vision models on 400 million scraped image-text pairs using a single contrastive objective—no manual labels needed—matching ResNet-101 zero-shot on ImageNet and powering DALL-E 2, Stable Diffusion, LLaVA.",[],"8ta1ozMSYSTxSUh-LDMSR0xA4W15osSaqGwdi_wJLJU",{"id":5064,"title":5065,"ai":5066,"body":5071,"categories":5099,"created_at":197,"date_modified":197,"description":59,"extension":198,"faq":197,"featured":199,"kicker_label":197,"meta":5100,"navigation":211,"path":5101,"published_at":4810,"question":197,"scraped_at":197,"seo":5102,"sitemap":5103,"source_id":5104,"source_name":4814,"source_type":219,"source_url":4815,"stem":5105,"tags":5106,"thumbnail_url":197,"tldr":5107,"tweet":197,"unknown_tags":5108,"__hash__":5109},"summaries\u002Fsummaries\u002Fgenerate-videos-by-slerp-walking-stable-diffusion--summary.md","Generate Videos by Slerp-Walking Stable Diffusion Latents",{"provider":7,"model":8,"input_tokens":5067,"output_tokens":5068,"processing_time_ms":5069,"cost_usd":5070},10775,1430,16123,0.00284735,{"type":14,"value":5072,"toc":5094},[5073,5077,5080,5084,5087,5091],[17,5074,5076],{"id":5075},"latent-space-walking-creates-hypnotic-videos","Latent Space Walking Creates Hypnotic Videos",[22,5078,5079],{},"Sample two random latents (shape 1x4x64x64 for 512x512 images), then use spherical linear interpolation (slerp) across 200 steps from init1 to init2. For each interpolated latent, run diffusion conditioned on a fixed text prompt (e.g., \"blueberry spaghetti\") with classifier-free guidance: concatenate unconditional and conditional embeddings, predict noise with UNet, apply guidance_scale=7.5, and denoise over num_inference_steps=50 using LMSDiscreteScheduler. Decode final latents via VAE to produce one frame per step. Repeat pairs up to max_frames=10000, saving JPEGs at 90% quality. Stitch with ffmpeg -r 10 -f image2 -s 512x512 -i frame%06d.jpg -vcodec libx264 -crf 10 -pix_fmt yuv420p output.mp4. This random walk yields surreal, morphing visuals without prompt changes.",[17,5081,5083],{"id":5082},"custom-diffuse-handles-guidance-and-schedulers","Custom Diffuse Handles Guidance and Schedulers",[22,5085,5086],{},"Bypass pipeline for fine control: compute unconditional embeddings from empty prompt, cat with conditional (1x77x768). Set timesteps with offset=1 if supported, eta=0.0 for DDIM compatibility. For each timestep, double latents for CFG, predict noise_pred, scale as uncond + guidance_scale*(text - uncond), step scheduler to prev_sample. Scale latents by 1\u002F0.18215 before VAE decode, clamp\u002Fpost-process to uint8 numpy. Supports LMSDiscreteScheduler (multiplies latents by sigmas initially, divides model input by sqrt(sigma^2 +1)). Slerp avoids straight-line artifacts in high-D latent space using arccos(dot) for theta, blending with sin terms if dot \u003C 0.9995.",[17,5088,5090],{"id":5089},"setup-params-and-optimizations","Setup, Params, and Optimizations",[22,5092,5093],{},"Requires Hugging Face access token for CompVis\u002Fstable-diffusion-v1-3-diffusers (or v1-4), diffusers library, torch, einops, PIL, fire (pip install fire), ~10GB VRAM for 512x512. Run: python stablediffusionwalk.py --prompt \"blueberry spaghetti\" --name outdir --num_steps 200 --num_inference_steps 50 --guidance_scale 7.5 --seed 1337 --max_frames 10000. Wrap diffuse in torch.autocast('cuda') for half-precision speedup. Higher inference steps (100-200) improve quality; guidance 3-10 tunes adherence. Users extended to prompt interpolation, fp16 models (fix dtype mismatches by upgrading diffusers\u002Ftransformers\u002Fscipy), or pipeline simplifications (pipe(prompt, latents=init, ...)).",{"title":59,"searchDepth":72,"depth":72,"links":5095},[5096,5097,5098],{"id":5075,"depth":72,"text":5076},{"id":5082,"depth":72,"text":5083},{"id":5089,"depth":72,"text":5090},[251],{},"\u002Fsummaries\u002Fgenerate-videos-by-slerp-walking-stable-diffusion-summary",{"title":5065,"description":59},{"loc":5101},"9fd1fce56d7f77a1","summaries\u002Fgenerate-videos-by-slerp-walking-stable-diffusion--summary",[58,225,223],"Interpolate random latents with slerp under a fixed prompt to create smooth, hypnotic videos from Stable Diffusion frames (50 inference steps, 7.5 guidance, 200 steps per pair).",[],"VddoAG9zJ0Akb8dH2o3dDgU_wO7ggV90n9VzfWlSvPE"]