1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[26633],{11119(e,n,s){s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"general/setup-system/ai-ml-requirements","title":"AI & Machine Learning Requirements","description":"What the optional AI and machine-learning features need: which run on your GPU, which need a connection, and how Athos differs from them.","source":"@site/docs/general/setup-system/ai-ml-requirements.md","sourceDirName":"general/setup-system","slug":"/general/setup-system/ai-ml-requirements","permalink":"/docs/next/general/setup-system/ai-ml-requirements","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/docs/general/setup-system/ai-ml-requirements.md","tags":[],"version":"current","sidebarPosition":2.5,"frontMatter":{"title":"AI & Machine Learning Requirements","description":"What the optional AI and machine-learning features need: which run on your GPU, which need a connection, and how Athos differs from them.","metaTitle":"aimlrequirements","metaDescription":"AI and Machine Learning hardware requirements for VRGS","sidebar_position":2.5},"sidebar":"docs","previous":{"title":"Graphics Settings","permalink":"/docs/next/general/setup-system/multi-gpu-systems"},"next":{"title":"Ollama (Local AI) Setup","permalink":"/docs/next/general/setup-system/ollama-setup"}}');var r=s(74848),i=s(28453);const a={title:"AI & Machine Learning Requirements",description:"What the optional AI and machine-learning features need: which run on your GPU, which need a connection, and how Athos differs from them.",metaTitle:"aimlrequirements",metaDescription:"AI and Machine Learning hardware requirements for VRGS",sidebar_position:2.5},o="AI & Machine Learning Requirements",l={},d=[{value:"Features that use AI",id:"features-that-use-ai",level:2},{value:"GPU acceleration",id:"gpu-acceleration",level:2},{value:"VRAM guidance",id:"vram-guidance",level:2},{value:"Model download & storage",id:"model-download--storage",level:2},{value:"The AI assistant (Athos / LLM)",id:"the-ai-assistant-athos--llm",level:2},{value:"Related",id:"related",level:2}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"ai--machine-learning-requirements",children:"AI & Machine Learning Requirements"})}),"\n",(0,r.jsx)(n.p,{children:"VRGS includes a set of optional AI / machine-learning features. They are not needed for everyday viewing and interpretation, but when you use them they have their own hardware, disk, and connectivity implications. This page covers what you need."}),"\n",(0,r.jsx)(n.h2,{id:"features-that-use-ai",children:"Features that use AI"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Image segmentation (SAM)"}),' \u2014 interactive "Segment Anything" tools in the photograph view for masking and labelling.']}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Fracture-trace detection (U-Net)"})," \u2014 automatic detection of fracture traces on photographs."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Dense reconstruction"})," \u2014 neural dense matching used in Structure-from-Motion (SfM) workflows."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Classifiers / neural networks"})," \u2014 additional analysis and classification tools."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"gpu-acceleration",children:"GPU acceleration"}),"\n",(0,r.jsx)(n.p,{children:"The AI models run through ONNX Runtime, which can use either your CPU or an NVIDIA GPU:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"NVIDIA GPU + CUDA"})," gives a large speed-up and is strongly recommended for AI work. VRGS ships with the supporting CUDA runtime, so a separate CUDA toolkit install is not required \u2014 you only need a compatible NVIDIA GPU and an up-to-date driver."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"CPU fallback"})," \u2014 most AI features fall back to the CPU automatically if no compatible GPU is present. They still work, but inference is significantly slower."]}
1),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"One exception:"})," the newest ",(0,r.jsx)(n.strong,{children:"SAM3"})," segmentation model ",(0,r.jsx)(n.strong,{children:"requires an NVIDIA CUDA GPU"})," and will not run on the CPU. The earlier ",(0,r.jsx)(n.strong,{children:"SAM 2.1"})," models and the fracture-detection U-Net run on either CPU or GPU."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"If you intend to use AI features regularly, a dedicated NVIDIA GPU is the single most important choice."}),"\n",(0,r.jsx)(n.h2,{id:"vram-guidance",children:"VRAM guidance"}),"\n",(0,r.jsx)(n.p,{children:"The segmentation models come in several sizes. Larger models are more capable but need more GPU memory:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Smaller variants (e.g. SAM 2.1 ",(0,r.jsx)(n.em,{children:"tiny"})," / ",(0,r.jsx)(n.em,{children:"small"}),") are suited to GPUs with limited VRAM."]}),"\n",(0,r.jsxs)(n.li,{children:["Larger variants (e.g. SAM 2.1 ",(0,r.jsx)(n.em,{children:"large"}),", and SAM3) benefit from more VRAM."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["As a rule of thumb: ",(0,r.jsx)(n.strong,{children:"more VRAM lets you run the larger, more accurate models and process bigger images faster."})," Exact VRAM minimums depend on the model and image size; if a model is too large for your GPU, choose a smaller variant."]}),"\n",(0,r.jsx)(n.h2,{id:"model-download--storage",children:"Model download & storage"}),"\n",(0,r.jsxs)(n.p,{children:["AI models are ",(0,r.jsx)(n.strong,{children:"not bundled"})," with the installer \u2014 they are downloaded on demand the first time you use a feature."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["The first download ",(0,r.jsx)(n.strong,{children:"requires an internet connection"})," and a ",(0,r.jsx)(n.strong,{children:"GeoTour sign-in"})," (used to authorise the download)."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Models are cached locally s
1o they only download once, under:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"%LOCALAPPDATA%\\VRGeoscience\\models\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Budget a few ",(0,r.jsx)(n.strong,{children:"GB of free disk space"})," for the model cache. The larger segmentation models are several hundred MB to over a GB each."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Once downloaded and cached, the models load locally and no longer need an internet connection."}),"\n",(0,r.jsx)(n.h2,{id:"the-ai-assistant-athos--llm",children:"The AI assistant (Athos / LLM)"}),"\n",(0,r.jsxs)(n.p,{children:["VRGS's built-in AI assistant is ",(0,r.jsx)(n.strong,{children:"cloud-based"})," and does not use your local GPU:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["It calls hosted LLM services (such as OpenAI or Anthropic Claude), so it needs an ",(0,r.jsx)(n.strong,{children:"internet connection"})," and a ",(0,r.jsx)(n.strong,{children:"GeoTour sign-in"}),". You do not need an API key of your own: VRGS routes the request through the VRGeoscience Athos service, which holds the provider credentials and applies your account's monthly allowance. Sign in from ",(0,r.jsx)(n.strong,{children:"GeoTour"})," and the assistant becomes available; if your session expires, Athos says so and you reconnect the same way."]}),"\n",(0,r.jsxs)(n.li,{children:["Optionally, it can connect to a ",(0,r.jsx)(n.strong,{children:"local Ollama"})," server if you prefer to keep prompts on your own hardware or need to work offline. We recommend running Ollama on a separate machine so it does not compete with VRGS for the graphics card, though running it alongside VRGS is supported. Hardware requirements are then determined by Ollama, not VRGS \u2014 see ",(0,r.jsx)(n.a,{href:"/docs/next/general/setup-system/ollama-setup",children:"Running Athos Locally with Ollama"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["All three providers answer help, literature, and project-database questions, and all three can look at a screenshot of the 3D view \u2014 for Ollama, provided the local model reads images (the default ",(0,r.jsx)(n.code,{children:"qwen3-vl:8b"})," does; see ",(0,r.jsx)(n.a,{href:"/docs/next/general/setup-system/ollama-setup#images-and-vision-models",children:"Images and vision models"}),"). What still needs a hosted provider is the ",(0,r.jsx)(n.em,{children:"acting"}),": changing reconstruction settings, starting a reconstruction, and segmenting a photograph. See ",(0,r.jsx)(n.a,{href:"/docs/next/general/viewing-collaboration/athos-ai-assistant#driving-and-describing-the-3d-view",children:"Driving and describing the 3D view"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["To learn how to open Athos, what you can ask it, and its commands, see ",(0,r.jsx)(n.a,{href:"/docs/next/general/viewing-collaboration/athos-ai-assistant",children:"Using the Athos AI Assistant"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"related",children:"Related"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/docs/next/general/setup-system/hardware-requirements",children:"Hardware Requirements"})," \u2014 overall system requirements."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/docs/next/general/setup-system/multi-gpu-systems",children:"Display Options and GPU Configuration"})," \u2014 make sure VRGS uses your dedicated GPU."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},28453(e,n,s){s.d(n,{R:()=>a,x:()=>o});var t=s(96540);const r={},i=t.createContext(r);function a(e){const n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.