[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation":3,"url-settings":86,"blog-\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks":663,"blog-author-\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks":1091,"i-material-symbols:arrow-back-rounded":1106},{"id":4,"extension":5,"footer":6,"header":73,"meta":83,"stem":84,"__hash__":85},"navigation\u002Fdata\u002Fshared\u002Fnavigation.yml","yml",{"brand":7,"columns":13,"legal":63},{"name":8,"tagline":9,"downloadCta":10},"Pieces","The memory layer for modern work.",{"label":11,"href":12},"All downloads","\u002Fdownloads",[14,26,39,51],{"title":15,"links":16},"Product",[17,20,23],{"label":18,"href":19},"Pieces Desktop","\u002F",{"label":21,"href":22},"Pieces Enterprise","\u002Fenterprise",{"label":24,"href":25},"Pieces MCP","\u002Fmcp",{"title":27,"links":28},"Resources",[29,33,36],{"label":30,"href":31,"external":32},"Documentation","url:docs.home",true,{"label":34,"href":35},"Blog","\u002Fblog",{"label":37,"href":38,"external":32},"GitHub","url:github.org",{"title":40,"links":41},"Community",[42,45,48],{"label":43,"href":44,"external":32},"Discord","url:social.discord",{"label":46,"href":47,"external":32},"X \u002F Twitter","url:social.x",{"label":49,"href":50,"external":32},"LinkedIn","url:social.linkedin",{"title":52,"links":53},"Company",[54,57,60],{"label":55,"href":56},"About","\u002Fabout",{"label":58,"href":59},"Updates","\u002Fupdates",{"label":61,"href":62},"Contact","\u002Fcontact",[64,67,70],{"label":65,"href":66},"Privacy Policy","\u002Flegal\u002Fprivacy",{"label":68,"href":69},"Refund Policy","\u002Flegal\u002Frefund",{"label":71,"href":72},"Terms of Service","\u002Flegal\u002Fterms",{"links":74,"signIn":75,"contact":78,"cta":80},[],{"label":76,"href":77},"Sign in","url:portal.home",{"label":79,"href":62},"Get in touch",{"label":81,"href":82},"Download","url:routes.downloads",{},"data\u002Fshared\u002Fnavigation","VdirGIa8cUm6xLprbBeTKcw914JfyJjWfF-9hSVOX5Y",{"id":87,"extension":5,"links":88,"meta":660,"stem":661,"__hash__":662},"urlSettings\u002Fdata\u002Fshared\u002Furls.yml",[89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,295,299,303,306,310,314,318,322,326,330,334,338,342,346,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442,446,450,453,457,461,465,469,473,477,480,483,486,489,493,497,500,504,508,512,516,520,524,528,532,536,540,544,548,551,555,559,563,567,571,574,577,580,584,587,591,595,599,603,606,610,614,617,620,623,627,631,635,638,641,644,648,652,656],{"key":90,"label":91,"href":92},"downloads.desktop","Desktop download page","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fdownload",{"key":94,"label":95,"href":96},"downloads.macOS.dmgArm64","macOS DMG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fdmg-arm64\u002Fdownload",{"key":98,"label":99,"href":100},"downloads.macOS.dmgIntel","macOS DMG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fdmg\u002Fdownload",{"key":102,"label":103,"href":104},"downloads.macOS.pkg","macOS PKG","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg\u002Fdownload",{"key":106,"label":107,"href":108},"downloads.macOS.universal","Desktop macOS Universal","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fmacos-universal\u002Fdownload",{"key":110,"label":111,"href":112},"downloads.macOS.pkgArm64","Desktop macOS PKG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pfd-arm64\u002Fdownload",{"key":114,"label":115,"href":116},"downloads.macOS.pkgIntel","Desktop macOS PKG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pfd\u002Fdownload",{"key":118,"label":119,"href":120},"downloads.windows.appinstaller","Windows App Installer","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fappinstaller\u002Fpieces_for_x.appinstaller",{"key":122,"label":123,"href":124},"downloads.windows.exe","Windows EXE","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fwindows-exe\u002Fdownload",{"key":126,"label":127,"href":128},"downloads.windows.msix","Windows MSIX","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fwindows-msix\u002Fdownload",{"key":130,"label":131,"href":132},"downloads.windows.suiteManager","Windows Suite Manager","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_suite_windows\u002Fappinstaller\u002Fdownload",{"key":134,"label":135,"href":136},"downloads.linux.flatpakRepo","Linux Flatpak repository","https:\u002F\u002Fbuilds.pieces.app\u002Fpieces-flatpak-repo\u002Fpieces-flatpak.flatpakrepo",{"key":138,"label":139,"href":140},"downloads.linux.snapDesktop","Linux Snap Desktop","https:\u002F\u002Fsnapcraft.io\u002Fpieces-for-developers",{"key":142,"label":143,"href":144},"downloads.linux.snapPiecesOS","Linux Snap PiecesOS","https:\u002F\u002Fsnapcraft.io\u002Fpieces-os",{"key":146,"label":147,"href":148},"downloads.linux.snap","Desktop Linux Snap package","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fsnap\u002Fdownload",{"key":150,"label":151,"href":152},"downloads.piecesOS.macOS.dmgArm64","PiecesOS macOS DMG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fdmg-arm64\u002Fdownload",{"key":154,"label":155,"href":156},"downloads.piecesOS.macOS.dmgIntel","PiecesOS macOS DMG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fdmg\u002Fdownload",{"key":158,"label":159,"href":160},"downloads.piecesOS.macOS.universal","PiecesOS macOS Universal","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fmacos-universal\u002Fdownload",{"key":162,"label":163,"href":164},"downloads.piecesOS.macOS.pkgArm64","PiecesOS macOS PKG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pos-launch-only-arm64\u002Fdownload",{"key":166,"label":167,"href":168},"downloads.piecesOS.macOS.pkgIntel","PiecesOS macOS PKG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pos-launch-only\u002Fdownload",{"key":170,"label":171,"href":172},"downloads.piecesOS.windows.appinstaller","PiecesOS Windows App Installer","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fappinstaller\u002Fos_server.appinstaller",{"key":174,"label":175,"href":176},"downloads.piecesOS.windows.exe","PiecesOS Windows EXE","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fwindows-exe\u002Fdownload",{"key":178,"label":179,"href":180},"downloads.piecesOS.windows.msix","PiecesOS Windows MSIX","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fwindows-msix\u002Fdownload",{"key":182,"label":183,"href":184},"downloads.piecesOS.linux.snap","PiecesOS Linux Snap package","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fsnap\u002Fdownload",{"key":186,"label":187,"href":188},"downloads.combined.macOS.appleSilicon","Combined macOS installer Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-arm64\u002Fdownload",{"key":190,"label":191,"href":104},"downloads.combined.macOS.intel","Combined macOS installer Intel",{"key":193,"label":194,"href":195},"downloads.guides.macOS","macOS installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Fmacos-installation-guide",{"key":197,"label":198,"href":199},"downloads.guides.windows","Windows installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Fwindows-installation-guide",{"key":201,"label":202,"href":203},"downloads.guides.linux","Linux installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Flinux-installation-guide",{"key":205,"label":206,"href":207},"downloads.guides.piecesOS","PiecesOS manual installation","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Fmanual-installation",{"key":209,"label":210,"href":211},"extensions.chrome","Chrome extension","https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Fpieces-save-code-snippets\u002Figbgibhbfonhmjlechmeefimncpekepm",{"key":213,"label":214,"href":215},"extensions.firefox","Firefox add-on","https:\u002F\u002Faddons.mozilla.org\u002Fen-US\u002Ffirefox\u002Faddon\u002Fpieces-save-code-from-the-web\u002F",{"key":217,"label":218,"href":219},"extensions.edge","Edge add-on","https:\u002F\u002Fmicrosoftedge.microsoft.com\u002Faddons\u002Fdetail\u002Fpieces-save-code-snippet\u002Fhglfimcdgonaeeobjckfdabcldfidmim",{"key":221,"label":222,"href":223},"extensions.vscode","VS Code extension","https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=MeshIntelligentTechnologiesInc.pieces-vscode",{"key":225,"label":226,"href":227},"extensions.visualStudio","Visual Studio extension","https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=MeshIntelligentTechnologiesInc.PiecesVisualStudio",{"key":229,"label":230,"href":231},"extensions.jetbrains","JetBrains plugin","https:\u002F\u002Fplugins.jetbrains.com\u002Fplugin\u002F17328-pieces--save-search-share--reuse-code-snippets",{"key":233,"label":234,"href":235},"extensions.obsidian","Obsidian plugin","https:\u002F\u002Fobsidian.md\u002Fplugins?id=pieces-for-developers",{"key":237,"label":238,"href":239},"extensions.sublime","Sublime package","https:\u002F\u002Fpackagecontrol.io\u002Fpackages\u002FPieces",{"key":241,"label":242,"href":243},"extensions.neovim","Neovim plugin","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_neo_vim",{"key":245,"label":246,"href":247},"extensions.jupyterlab","JupyterLab plugin","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fjupyterlab-pieces",{"key":249,"label":250,"href":251},"extensions.cli","Pieces CLI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fpieces-cli\u002F",{"key":253,"label":254,"href":255},"docs.home","Documentation home","https:\u002F\u002Fdocs.pieces.app",{"key":257,"label":258,"href":259},"docs.getStarted","Get started docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces",{"key":261,"label":262,"href":263},"docs.api","API docs","https:\u002F\u002Fdocs.pieces.app\u002Fapi",{"key":265,"label":266,"href":267},"docs.desktop.overview","Desktop overview","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop",{"key":269,"label":270,"href":271},"docs.desktop.onboarding","Desktop onboarding","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fonboarding",{"key":273,"label":274,"href":275},"docs.desktop.timeline","Desktop timeline docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Ftimeline",{"key":277,"label":278,"href":279},"docs.desktop.summaries","Desktop summaries docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fsingle-click-summaries",{"key":281,"label":282,"href":283},"docs.desktop.search","Desktop conversational search docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fconversational-search",{"key":285,"label":286,"href":287},"docs.desktop.drive","Desktop drive docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fdrive",{"key":289,"label":290,"href":291},"docs.desktop.account","Desktop account settings docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fconfiguration\u002Faccount",{"key":293,"label":294,"href":92},"docs.desktop.download","Desktop download docs",{"key":296,"label":297,"href":298},"docs.piecesOS.overview","PiecesOS overview docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies",{"key":300,"label":301,"href":302},"docs.piecesOS.details","PiecesOS details docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os",{"key":304,"label":305,"href":207},"docs.piecesOS.install","PiecesOS install docs",{"key":307,"label":308,"href":309},"docs.piecesOS.quickMenu","PiecesOS quick menu docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Fquick-menu",{"key":311,"label":312,"href":313},"docs.piecesOS.storage","On-device storage docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fon-device-storage",{"key":315,"label":316,"href":317},"docs.piecesOS.troubleshooting","PiecesOS troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Ftroubleshooting",{"key":319,"label":320,"href":321},"docs.mcp.overview","MCP overview docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp",{"key":323,"label":324,"href":325},"docs.mcp.cursor","MCP Cursor docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcursor",{"key":327,"label":328,"href":329},"docs.mcp.vscode","MCP VS Code docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fvs-code",{"key":331,"label":332,"href":333},"docs.mcp.claudeDesktop","MCP Claude Desktop docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-desktop",{"key":335,"label":336,"href":337},"docs.mcp.claudeCode","MCP Claude Code docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-code",{"key":339,"label":340,"href":341},"docs.mcp.claudeCowork","MCP Claude Cowork docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-cowork",{"key":343,"label":344,"href":345},"docs.mcp.githubCopilot","MCP GitHub Copilot docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgithub-copilot",{"key":347,"label":348,"href":349},"docs.mcp.goose","MCP Goose docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgoose",{"key":351,"label":352,"href":353},"docs.mcp.windsurf","MCP Windsurf docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fwindsurf",{"key":355,"label":356,"href":357},"docs.mcp.zed","MCP Zed docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fzed",{"key":359,"label":360,"href":361},"docs.mcp.jetbrains","MCP JetBrains docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fjetbrains-ides",{"key":363,"label":364,"href":365},"docs.mcp.continueDev","MCP Continue docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcontinue-dev",{"key":367,"label":368,"href":369},"docs.mcp.cline","MCP Cline docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcline",{"key":371,"label":372,"href":373},"docs.mcp.raycast","MCP Raycast docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fraycast",{"key":375,"label":376,"href":377},"docs.mcp.rovoDevCli","MCP Rovo Dev CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Frovo-dev-cli",{"key":379,"label":380,"href":381},"docs.mcp.openaiCodexCli","MCP OpenAI Codex CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fopenai-codex-cli",{"key":383,"label":384,"href":385},"docs.mcp.googleGeminiCli","MCP Google Gemini CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgoogle-gemini-cli",{"key":387,"label":388,"href":389},"docs.mcp.amazonQ","MCP Amazon Q docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Famazon-q-developer",{"key":391,"label":392,"href":393},"docs.mcp.chatgptDev","MCP ChatGPT Developer Mode docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fchatgpt-developer-mode",{"key":395,"label":396,"href":397},"docs.mcp.openclaw","MCP OpenClaw docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fopenclaw",{"key":399,"label":400,"href":401},"docs.mcp.mcpRemote","MCP Remote docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fmcp-remote",{"key":403,"label":404,"href":405},"docs.mcp.ngrok","MCP ngrok docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fngrok-setup",{"key":407,"label":408,"href":409},"docs.troubleshooting.macOS","macOS troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Fmacos",{"key":411,"label":412,"href":413},"docs.troubleshooting.windows","Windows troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Fwindows",{"key":415,"label":416,"href":417},"docs.troubleshooting.linux","Linux troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Flinux",{"key":419,"label":420,"href":421},"docs.privacy","Privacy and security docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fprivacy-security-your-data",{"key":423,"label":424,"href":425},"docs.support","Support docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fsupport",{"key":427,"label":428,"href":429},"portal.home","Pieces portal","https:\u002F\u002Fportal.pieces.app",{"key":431,"label":432,"href":433},"site.home","Website home","https:\u002F\u002Fpieces.app",{"key":435,"label":436,"href":437},"site.about","About page","https:\u002F\u002Fpieces.app\u002Fabout",{"key":439,"label":440,"href":441},"site.features","Features page","https:\u002F\u002Fpieces.app\u002Ffeatures",{"key":443,"label":444,"href":445},"site.plugins","Plugins page","https:\u002F\u002Fpieces.app\u002Fplugins",{"key":447,"label":448,"href":449},"site.contact","Contact page","https:\u002F\u002Fpieces.app\u002Fcontact",{"key":451,"label":58,"href":452},"site.updates","https:\u002F\u002Fpieces.app\u002Fupdates",{"key":454,"label":455,"href":456},"site.news","News","https:\u002F\u002Fpieces.app\u002Fnews",{"key":458,"label":459,"href":460},"site.events","Community events","https:\u002F\u002Fpieces.app\u002Fcommunity\u002Fevents",{"key":462,"label":463,"href":464},"site.userStories","User stories","https:\u002F\u002Fpieces.app\u002Fuser-stories",{"key":466,"label":467,"href":468},"site.academy","Academy","https:\u002F\u002Fpieces.app\u002Flearn\u002Facademy",{"key":470,"label":471,"href":472},"site.support","Website support","https:\u002F\u002Fpieces.app\u002Fsupport",{"key":474,"label":475,"href":476},"site.standup","Standup","https:\u002F\u002Fpieces.app\u002Fstandup",{"key":478,"label":34,"href":479},"site.blog","https:\u002F\u002Fcode.pieces.app\u002Fblog",{"key":481,"label":43,"href":482},"social.discord","https:\u002F\u002Fdiscord.gg\u002Fgetpieces",{"key":484,"label":46,"href":485},"social.x","https:\u002F\u002Fx.com\u002Fgetpieces",{"key":487,"label":488,"href":485},"social.twitter","Twitter",{"key":490,"label":491,"href":492},"social.instagram","Instagram","https:\u002F\u002Fwww.instagram.com\u002Fgetpieces\u002F",{"key":494,"label":495,"href":496},"social.tiktok","TikTok","https:\u002F\u002Fwww.tiktok.com\u002F@getpieces",{"key":498,"label":49,"href":499},"social.linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fgetpieces\u002F",{"key":501,"label":502,"href":503},"social.youtube","YouTube","https:\u002F\u002Fyoutube.com\u002F@getpieces",{"key":505,"label":506,"href":507},"github.org","GitHub organization","https:\u002F\u002Fgithub.com\u002Fpieces-app",{"key":509,"label":510,"href":511},"github.support","GitHub support","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport",{"key":513,"label":514,"href":515},"github.issues","GitHub issues","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport\u002Fissues",{"key":517,"label":518,"href":519},"github.discussions","GitHub discussions","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport\u002Fdiscussions",{"key":521,"label":522,"href":523},"github.documentation","GitHub documentation","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fdocumentation",{"key":525,"label":526,"href":527},"github.opensource","GitHub open source","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fopensource",{"key":529,"label":530,"href":531},"github.sdks.python","Python SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-python",{"key":533,"label":534,"href":535},"github.sdks.typescript","TypeScript SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-typescript",{"key":537,"label":538,"href":539},"github.sdks.dart","Dart SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-dart",{"key":541,"label":542,"href":543},"github.sdks.kotlin","Kotlin SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-kotlin",{"key":545,"label":546,"href":547},"github.plugins.obsidian","Obsidian plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fobsidian-pieces",{"key":549,"label":550,"href":247},"github.plugins.jupyterlab","JupyterLab plugin repository",{"key":552,"label":553,"href":554},"github.plugins.sublime","Sublime plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_sublime",{"key":556,"label":557,"href":558},"github.plugins.neovim","Neovim plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_neovim",{"key":560,"label":561,"href":562},"github.cliAgent","CLI agent repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fcli-agent",{"key":564,"label":565,"href":566},"github.mcpDart","MCP Dart repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fmcp_dart",{"key":568,"label":569,"href":570},"github.awesomePieces","Awesome Pieces repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fawesome-pieces",{"key":572,"label":573,"href":66},"legal.privacyPolicy","Privacy policy",{"key":575,"label":576,"href":69},"legal.refundPolicy","Refund policy",{"key":578,"label":579,"href":72},"legal.terms","Terms",{"key":581,"label":582,"href":583},"legal.security","Legal security","https:\u002F\u002Fpieces.app\u002Flegal\u002Fsecurity",{"key":585,"label":586,"href":503},"videos.youtubeChannel","YouTube channel",{"key":588,"label":589,"href":590},"videos.gettingStartedDesktop","Getting started desktop video","https:\u002F\u002Fyoutu.be\u002FdUr1lRM_TYk",{"key":592,"label":593,"href":594},"videos.snippetDiscoveryxR","Snippet discovery video","https:\u002F\u002Fyoutu.be\u002FG6vb1USw-30",{"key":596,"label":597,"href":598},"sales.bookACall","Book a sales call","https:\u002F\u002Fcalendar.app.google\u002FWVUDtUfNy5Vst3sH7",{"key":600,"label":601,"href":602},"sales.enterprise","Enterprise form","https:\u002F\u002Fgetpieces.typeform.com\u002Fto\u002FaVQFTvpE",{"key":604,"label":605,"href":519},"sales.feedback","Feedback discussions",{"key":607,"label":608,"href":609},"sales.earlyAccess","Early access form","https:\u002F\u002Fgetpieces.typeform.com\u002Fearlyaccess",{"key":611,"label":612,"href":613},"sales.supportEmail","Support email","mailto:support@pieces.app",{"key":615,"label":616,"href":19},"routes.home","Home route",{"key":618,"label":619,"href":56},"routes.about","About route",{"key":621,"label":622,"href":12},"routes.downloads","Downloads route",{"key":624,"label":625,"href":626},"routes.thanks","Post-install thanks route","\u002Finstall\u002Fthanks",{"key":628,"label":629,"href":630},"routes.pricing","Pricing route","\u002Fpricing",{"key":632,"label":633,"href":634},"cta.freeTrial","Start free trial CTA (Pieces Pro) — used by \u002Fcampaigns\u002F* landing pages","https:\u002F\u002Fcampaigns.pieces.app\u002F",{"key":636,"label":637,"href":22},"routes.enterprise","Enterprise route",{"key":639,"label":640,"href":62},"routes.contact","Contact route",{"key":642,"label":643,"href":59},"routes.updates","Updates route",{"key":645,"label":646,"href":647},"routes.migrationError","Migration error route","\u002Fmigration\u002Ferror",{"key":649,"label":650,"href":651},"routes.authenticated","Post-login authenticated route","\u002Fauth\u002Fsigned-in",{"key":653,"label":654,"href":655},"routes.signed-out","Signed out route","\u002Fauth\u002Fsigned-out",{"key":657,"label":658,"href":659},"routes.authentication-error","Authentication error route","\u002Fauth\u002Ferror",{},"data\u002Fshared\u002Furls","NLkVE1lIUws518K-1QsSB6T-GvlXYIzcRL1HDhqarGQ",{"id":664,"title":665,"author":666,"authorPhoto":667,"authorPhotoAlt":668,"authorSlug":669,"body":670,"buttonText":1076,"buttonUrl":1077,"category":1078,"date":1079,"description":1080,"draft":1081,"editorsPick":1081,"extension":1082,"featured":1081,"image":1083,"imageAlt":1084,"meta":1085,"navigation":32,"ogImage":1086,"ogImageAlt":1086,"path":1087,"seo":1088,"stem":1089,"tags":1086,"__hash__":1090},"blog\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks.md","Jax vs Pytorch: Which framework to choose for ML workflows","James Amoo","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks\u002Fauthor.jpeg","James Amoo.","james-amoo",{"type":671,"value":672,"toc":1057},"minimark",[673,677,680,683,688,691,694,701,704,708,718,721,724,727,741,746,749,755,764,769,772,775,778,791,794,805,808,823,826,829,834,843,848,852,866,876,880,883,886,889,895,898,901,905,908,914,917,934,937,940,951,955,964,970,974,977,981,984,988,991,995,998,1002,1005,1008,1017,1020,1023,1026,1029,1052],[674,675,676],"p",{},"When you think of an AI tool, what are some of the main factors that come to your mind while choosing one? Is it speed, accuracy, and scalability?",[674,678,679],{},"With GenAI growing faster than ever, it is very important to choose the right frameworks for training and deploying the models.",[674,681,682],{},"This might be particularly interesting to you if you are a machine learning enthusiast and want to learn what goes behind.",[684,685,687],"h2",{"id":686},"in-sum","In sum",[674,689,690],{},"JAX is favored for research due to its functional programming approach and advanced distributed training tools, though it has a steeper learning curve and limited industry adoption. In contrast, PyTorch is widely used in the industry for its Python-like ease of use, strong edge device support, and robust distributed training capabilities",[674,692,693],{},"Here’s a table with a key comparison:",[674,695,696],{},[697,698],"img",{"alt":699,"src":700},"","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks\u002Fimg-001.png",[674,702,703],{},"Now let’s talk about two frameworks in detail: JAX and PyTorch, learn their differences and guide you to choose the right one for your next machine learning project.",[684,705,707],{"id":706},"what-is-jax","What is JAX?",[674,709,710,717],{},[711,712,716],"a",{"href":713,"rel":714},"https:\u002F\u002Fjax.readthedocs.io\u002Fen\u002Flatest\u002Fquickstart.html",[715],"nofollow","JAX"," is an open-source library for array-oriented numerical computation developed by Google.",[674,719,720],{},"JAX stands for ‘Just Another XLA’ where XLA stands for Accelerated Linear Algebra. It can help you with large-scale machine learning and scientific computing tasks.",[674,722,723],{},"With features like automatic differentiation and JIT (just-in-time) compilation, it is helpful in high-performance machine learning research.",[674,725,726],{},"It was created to combine the best features of TensorFlow and NumPy to create a fast, scalable, and easy-to-use framework for machine learning.",[674,728,729,730,734,735,740],{},"One of the main features of JAX is its ability to ",[731,732,733],"em",{},"automatically differentiate functions written in Python"," using the ",[711,736,739],{"href":737,"rel":738},"https:\u002F\u002Frufflewind.com\u002F2016-12-30\u002Freverse-mode-automatic-differentiation",[715],"reverse-mode differentiation technique",". This allows developers to calculate gradients efficiently, which is essential for many deep-learning algorithms.",[742,743,745],"h3",{"id":744},"how-to-install-jax","How to install JAX",[674,747,748],{},"You can install JAX using pip with the command:",[674,750,751],{},[752,753,754],"strong",{},"pip install jax",[674,756,757,758,763],{},"Mostly JAX is used through the ",[711,759,762],{"href":760,"rel":761},"https:\u002F\u002Fjax.readthedocs.io\u002Fen\u002Flatest\u002Fjax.numpy.html#module-jax.numpy",[715],"jax.numpy"," API, and you can import it under the jnp alias using the command below:",[674,765,766],{},[752,767,768],{},"import jax.numpy as jnp",[674,770,771],{},"Since we are talking about NumPy and JAX here, here’s a small comparison of JAX vs NumPy.",[674,773,774],{},"Both are useful in numerical computing, but NumPy is a general-purpose library for efficient CPU-based array operations, while JAX extends NumPy's API with advanced features like automatic differentiation, GPU\u002FTPU support, and just-in-time (JIT) compilation via XLA.",[674,776,777],{},"Some other features of JAX are:",[779,780,781,785,788],"ul",{},[782,783,784],"li",{},"It provides a unified NumPy-like interface to computations that run on CPU, GPU, or TPU, in local or distributed settings.",[782,786,787],{},"It performs array-oriented computations.",[782,789,790],{},"JAX functions support efficient evaluation of gradients via its automatic differentiation transformations.",[674,792,793],{},"Popular use cases of JAX are:",[779,795,796,799,802],{},[782,797,798],{},"In developing machine learning algorithms",[782,800,801],{},"In high-performance computing",[782,803,804],{},"In scientific research",[674,806,807],{},"JAX has a steep learning curve and is mostly used for complex computational tasks or research.",[674,809,810,811,816,817,822],{},"To speed up your learning process, you can use ",[711,812,815],{"href":813,"rel":814},"https:\u002F\u002Fpieces.app\u002Fblog\u002Ftop-10-ai-tools-for-developers",[715],"AI tools"," like Pieces that can save snippets of research, understand your coding style to help you code faster, and ",[711,818,821],{"href":819,"rel":820},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fhow-to-choose-the-right-llm-for-ai-assisted-development",[715],"assist you in research"," as you continue learning.",[674,824,825],{},"Here’s an example of how Pieces can help you learn with its chat-like interface and improve your coding by providing explanations on how it works and how you can make the code better.",[674,827,828],{},"In the screenshot below, we see how Pieces simplifies code understanding and seamlessly integrates with your preferred IDE.",[674,830,831],{},[697,832],{"alt":699,"src":833},"https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks\u002Fimg-002.png",[674,835,836,837,842],{},"Whereas, Pieces Copilot, with its chat-like interface can help you in researching and learning ",[711,838,841],{"href":839,"rel":840},"https:\u002F\u002Fpieces.app\u002Ffeatures\u002Fcontext-switching",[715],"without context switching",".",[674,844,845],{},[697,846],{"alt":699,"src":847},"https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks\u002Fimg-003.png",[742,849,851],{"id":850},"what-are-the-examples-of-jax","What are the examples of JAX?",[674,853,854,855,858,859,862,863,865],{},"Here is a simple example of using JAX and Python to calculate the derivative of the function ",[731,856,857],{},"y","=",[731,860,861],{},"x","2 at the point ",[731,864,861],{},"=2:",[867,868,873],"pre",{"className":869,"code":871,"language":872},[870],"language-text","import jax\n\ndef f(x):\n  return x**2\n\ndef grad_f(x):\n  return 2*x\n\nx = 2\n\ndy = jax.grad(f)(x)\n\nprint(dy)\n","text",[874,875,871],"code",{"__ignoreMap":699},[684,877,879],{"id":878},"what-is-pytorch","What is PyTorch?",[674,881,882],{},"PyTorch is an open-source framework used for building deep models and has been developed by researchers at Facebook and several other labs.",[674,884,885],{},"It is commonly used in applications that involve image recognition and language processing.",[674,887,888],{},"The framework combines the flexible GPU-accelerated backend libraries from Torch with a Python frontend that focuses on rapid prototyping, readable code, and support for the widest possible variety of deep learning models.",[674,890,891,892,842],{},"One of the main features of PyTorch is its dynamic computational graph, which allows for easy ",[731,893,894],{},"debugging and better performance",[674,896,897],{},"PyTorch also provides a variety of tools to help with data loading, preprocessing, and visualization.",[674,899,900],{},"These include built-in datasets and data loaders, as well as libraries such as torchvision for image processing.",[742,902,904],{"id":903},"how-to-install-pytorch","How to install PyTorch",[674,906,907],{},"To install PyTorch, use the command below:",[867,909,912],{"className":910,"code":911,"language":872},[870],"pip3 install torch torchvision torchaudio\n",[874,913,911],{"__ignoreMap":699},[674,915,916],{},"Some of the key features of PyTorch are:",[779,918,919,928,931],{},[782,920,921,922,927],{},"Cloud support: It uses ",[711,923,926],{"href":924,"rel":925},"https:\u002F\u002Fpytorch.org\u002Fserve\u002F",[715],"TorchServe",", which is an easy-to-use tool for deploying PyTorch models at scale.",[782,929,930],{},"Native ONNX support: You can export models in the standard ONNX (Open Neural Network Exchange) format for direct access to ONNX-compatible platforms, runtimes, visualizers, and more.",[782,932,933],{},"C++ frontend: The C++ frontend is a pure C++ interface to PyTorch that follows the design and architecture of the established Python frontend. This helps in research in high-performance, low latency, and bare-metal C++ applications.",[674,935,936],{},"Some popular alternatives to PyTorch are Tensorflow, JAX, Keras and MXNext.",[674,938,939],{},"Popular use-cases of PyTorch are:",[779,941,942,945,948],{},[782,943,944],{},"In research and development",[782,946,947],{},"In natural language processing",[782,949,950],{},"In computer vision",[742,952,954],{"id":953},"what-are-pytorch-examples","What are PyTorch examples?",[674,956,957,958,858,960,862,962,865],{},"Here is a simple example of using PyTorch to calculate the derivative of the function ",[731,959,857],{},[731,961,861],{},[731,963,861],{},[867,965,968],{"className":966,"code":967,"language":872},[870],"import torch\n\ndef f(x):\n  return x**2\n\nx = torch.tensor(2, requires_grad=True)\n\ny = f(x)\n\ny.backward()\n\nprint(x.grad)\n",[874,969,967],{"__ignoreMap":699},[684,971,973],{"id":972},"how-jax-and-pytorch-compare","How JAX and PyTorch compare",[674,975,976],{},"Now that we know what JAX and PyTorch is, and their use cases. Let us understand the JAX vs PyTorch benchmark, using the following criteria.",[742,978,980],{"id":979},"speed-and-efficiency","Speed and efficiency",[674,982,983],{},"When comparing JAX vs PyTorch, in terms of performance, JAX is faster. Especially with large-scale workloads as it can run on hardware accelerators like GPUs and TPUs, and has support for JIT compilation, which speeds up the execution process.",[742,985,987],{"id":986},"ecosystem-and-community","Ecosystem and community",[674,989,990],{},"JAX is relatively new, but it has grown significantly, especially with the introduction of libraries such as Flax, Haiku, and Orbax, which has led to more researchers and developers joining the community. PyTorch has a more mature and widespread community. Libraries like TorchVision and TorchText have also contributed to this growth, followed by strong backing from Meta.",[742,992,994],{"id":993},"deployment","Deployment",[674,996,997],{},"PyTorch makes use of TorchServe, which makes it easier to take models from development to production. To deploy models in JAX, you will need to make additional efforts, and it lacks built-in tools.",[684,999,1001],{"id":1000},"when-to-choose-jax-vs-pytorch","When to choose JAX vs PyTorch",[674,1003,1004],{},"By now, we know the capabilities of JAX and PyTorch and how they compare. If you had to choose between the two based on tasks or other factors, here’s an overview that can help you choose.",[674,1006,1007],{},"Choose JAX if you are looking for research and prototyping and need for CPU usage, while you can choose PyTorch if the task is relatively simpler, and needs a framework that is easy to get started.",[674,1009,1010,1011,1016],{},"JAX provides a more functional approach to ",[711,1012,1015],{"href":1013,"rel":1014},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fthe-ultimate-guide-to-ml-model-deployment",[715],"deep learning",", making it easier to reason about the code and enabling automatic differentiation.",[674,1018,1019],{},"PyTorch is easy to use and more flexible. It has a dynamic computational graph, which makes it easier to debug and experiment with different models.",[674,1021,1022],{},"With how the two frameworks are growing, it is expected that JAX will continue being used in research and areas such as quantum computing and large-scale training.",[674,1024,1025],{},"While PyTorch will remain the go-to framework for computer vision, NLP, and cloud-native AI.",[674,1027,1028],{},"Resources that can help you get started with JAX and PyTorch:",[779,1030,1031,1038,1045],{},[782,1032,1033],{},[711,1034,1037],{"href":1035,"rel":1036},"https:\u002F\u002Fjax.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html",[715],"JAX official documentation",[782,1039,1040],{},[711,1041,1044],{"href":1042,"rel":1043},"https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Findex.html",[715],"PyTorch official documentation",[782,1046,1047],{},[711,1048,1051],{"href":1049,"rel":1050},"https:\u002F\u002Fwww.newhorizons.com\u002Fresources\u002Fblog\u002Fjax-vs-pytorch-comparing-two-deep-learning-frameworks#:~:text=In%20summary%2C%20both%20JAX%20and,using%20a%20dynamic%20computational%20graph.",[715],"JAX vs PyTorch: Comparing Two Deep Learning Frameworks",[674,1053,1054],{},[731,1055,1056],{},"This article was first published on October 11th, 2024, and was improved by Haimantika Mitra as of January 24th, 2025, to improve your experience and share the latest information.",{"title":699,"searchDepth":1058,"depth":1058,"links":1059},2,[1060,1061,1066,1070,1075],{"id":686,"depth":1058,"text":687},{"id":706,"depth":1058,"text":707,"children":1062},[1063,1065],{"id":744,"depth":1064,"text":745},3,{"id":850,"depth":1064,"text":851},{"id":878,"depth":1058,"text":879,"children":1067},[1068,1069],{"id":903,"depth":1064,"text":904},{"id":953,"depth":1064,"text":954},{"id":972,"depth":1058,"text":973,"children":1071},[1072,1073,1074],{"id":979,"depth":1064,"text":980},{"id":986,"depth":1064,"text":987},{"id":993,"depth":1064,"text":994},{"id":1000,"depth":1058,"text":1001},"Try Pieces","https:\u002F\u002Fbeta.docs.pieces.app\u002Fproducts\u002Fmeet-pieces","Productivity","2025-01-24T00:00:00.000Z","The growth of GenAI has also led to the search for frameworks that can provide better performance and scalability. In this article, we will learn about JAX and PyTorch.",false,"md","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks\u002Fhero.png","Cylindrical beams of light descending from the ceiling.",{},null,"\u002Fblog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks",{"title":665,"description":1080},"blog\u002Fjax-vs-pytorch-comparing-two-powerhouses-in-ml-frameworks","C_Yq6a5EQVICo9HKd65JxodM2g49-QIG7QtXmpHpkeI",{"id":1092,"title":666,"body":1093,"description":1097,"draft":1081,"extension":1082,"meta":1100,"navigation":32,"path":1101,"photo":1102,"photoAlt":1086,"seo":1103,"stem":1104,"__hash__":1105},"authors\u002Fauthors\u002Fjames-amoo.md",{"type":671,"value":1094,"toc":1098},[1095],[674,1096,1097],{},"James Amoo is a Software Engineer and a Technical Writer. He excels in creating scalable software solutions and crafting clear and concise documentation. Having graduated with a First Class Honours degree in Computer Science, he is fundamentally well-versed in the in-depth concepts of programming.",{"title":699,"searchDepth":1058,"depth":1058,"links":1099},[],{},"\u002Fauthors\u002Fjames-amoo","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fauthors\u002Fjames-amoo.jpeg",{"title":666,"description":1097},"authors\u002Fjames-amoo","cHsg7jg2RaRueV_cvOOD8JHsrLPQxt-lYAgFPEDW_A8",{"left":1107,"top":1107,"width":1108,"height":1108,"rotate":1107,"vFlip":1081,"hFlip":1081,"body":1109},0,24,"\u003Cpath fill=\"currentColor\" d=\"m7.825 13l4.9 4.9q.3.3.288.7t-.313.7q-.3.275-.7.288t-.7-.288l-6.6-6.6q-.15-.15-.213-.325T4.426 12t.063-.375t.212-.325l6.6-6.6q.275-.275.688-.275t.712.275q.3.3.3.713t-.3.712L7.825 11H19q.425 0 .713.288T20 12t-.288.713T19 13z\"\u002F>"]