Ubuntu 22 Linux上部署DeepSeek R1保姆式操作详解(ollama方式)

news2025/5/31 20:34:26

操作系统:Ubuntu Linux 22.04

一、安装模型运行环境

打开链接https://ollama.com/download/linux

1.安装ollama

(1)一条指令即可实现的简易版安装方法(也可称为在线安装)

curl -fsSL https://ollama.com/install.sh | sh

如果提示没有curl命令,运行下面指令,执行过程中如有报错,多试几次即可。

sudo snap install curl

安装完curl后再次执行上面指令,根据电脑配置以及网络情况,所用时间不一,需要耐心等待。

如果想知道install.sh到底做了啥,可以研究它的源码:

#!/bin/sh
# This script installs Ollama on Linux.
# It detects the current operating system architecture and installs the appropriate version of Ollama.

set -eu

red="$( (/usr/bin/tput bold || :; /usr/bin/tput setaf 1 || :) 2>&-)"
plain="$( (/usr/bin/tput sgr0 || :) 2>&-)"

status() { echo ">>> $*" >&2; }
error() { echo "${red}ERROR:${plain} $*"; exit 1; }
warning() { echo "${red}WARNING:${plain} $*"; }

TEMP_DIR=$(mktemp -d)
cleanup() { rm -rf $TEMP_DIR; }
trap cleanup EXIT

available() { command -v $1 >/dev/null; }
require() {
    local MISSING=''
    for TOOL in $*; do
        if ! available $TOOL; then
            MISSING="$MISSING $TOOL"
        fi
    done

    echo $MISSING
}

[ "$(uname -s)" = "Linux" ] || error 'This script is intended to run on Linux only.'

ARCH=$(uname -m)
case "$ARCH" in
    x86_64) ARCH="amd64" ;;
    aarch64|arm64) ARCH="arm64" ;;
    *) error "Unsupported architecture: $ARCH" ;;
esac

IS_WSL2=false

KERN=$(uname -r)
case "$KERN" in
    *icrosoft*WSL2 | *icrosoft*wsl2) IS_WSL2=true;;
    *icrosoft) error "Microsoft WSL1 is not currently supported. Please use WSL2 with 'wsl --set-version <distro> 2'" ;;
    *) ;;
esac

VER_PARAM="${OLLAMA_VERSION:+?version=$OLLAMA_VERSION}"

SUDO=
if [ "$(id -u)" -ne 0 ]; then
    # Running as root, no need for sudo
    if ! available sudo; then
        error "This script requires superuser permissions. Please re-run as root."
    fi

    SUDO="sudo"
fi

NEEDS=$(require curl awk grep sed tee xargs)
if [ -n "$NEEDS" ]; then
    status "ERROR: The following tools are required but missing:"
    for NEED in $NEEDS; do
        echo "  - $NEED"
    done
    exit 1
fi

for BINDIR in /usr/local/bin /usr/bin /bin; do
    echo $PATH | grep -q $BINDIR && break || continue
done
OLLAMA_INSTALL_DIR=$(dirname ${BINDIR})

if [ -d "$OLLAMA_INSTALL_DIR/lib/ollama" ] ; then
    status "Cleaning up old version at $OLLAMA_INSTALL_DIR/lib/ollama"
    $SUDO rm -rf "$OLLAMA_INSTALL_DIR/lib/ollama"
fi
status "Installing ollama to $OLLAMA_INSTALL_DIR"
$SUDO install -o0 -g0 -m755 -d $BINDIR
$SUDO install -o0 -g0 -m755 -d "$OLLAMA_INSTALL_DIR/lib/ollama"
status "Downloading Linux ${ARCH} bundle"
curl --fail --show-error --location --progress-bar \
    "https://ollama.com/download/ollama-linux-${ARCH}.tgz${VER_PARAM}" | \
    $SUDO tar -xzf - -C "$OLLAMA_INSTALL_DIR"

if [ "$OLLAMA_INSTALL_DIR/bin/ollama" != "$BINDIR/ollama" ] ; then
    status "Making ollama accessible in the PATH in $BINDIR"
    $SUDO ln -sf "$OLLAMA_INSTALL_DIR/ollama" "$BINDIR/ollama"
fi

# Check for NVIDIA JetPack systems with additional downloads
if [ -f /etc/nv_tegra_release ] ; then
    if grep R36 /etc/nv_tegra_release > /dev/null ; then
        status "Downloading JetPack 6 components"
        curl --fail --show-error --location --progress-bar \
            "https://ollama.com/download/ollama-linux-${ARCH}-jetpack6.tgz${VER_PARAM}" | \
            $SUDO tar -xzf - -C "$OLLAMA_INSTALL_DIR"
    elif grep R35 /etc/nv_tegra_release > /dev/null ; then
        status "Downloading JetPack 5 components"
        curl --fail --show-error --location --progress-bar \
            "https://ollama.com/download/ollama-linux-${ARCH}-jetpack5.tgz${VER_PARAM}" | \
            $SUDO tar -xzf - -C "$OLLAMA_INSTALL_DIR"
    else
        warning "Unsupported JetPack version detected.  GPU may not be supported"
    fi
fi

install_success() {
    status 'The Ollama API is now available at 127.0.0.1:11434.'
    status 'Install complete. Run "ollama" from the command line.'
}
trap install_success EXIT

# Everything from this point onwards is optional.

configure_systemd() {
    if ! id ollama >/dev/null 2>&1; then
        status "Creating ollama user..."
        $SUDO useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
    fi
    if getent group render >/dev/null 2>&1; then
        status "Adding ollama user to render group..."
        $SUDO usermod -a -G render ollama
    fi
    if getent group video >/dev/null 2>&1; then
        status "Adding ollama user to video group..."
        $SUDO usermod -a -G video ollama
    fi

    status "Adding current user to ollama group..."
    $SUDO usermod -a -G ollama $(whoami)

    status "Creating ollama systemd service..."
    cat <<EOF | $SUDO tee /etc/systemd/system/ollama.service >/dev/null
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=$BINDIR/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"

[Install]
WantedBy=default.target
EOF
    SYSTEMCTL_RUNNING="$(systemctl is-system-running || true)"
    case $SYSTEMCTL_RUNNING in
        running|degraded)
            status "Enabling and starting ollama service..."
            $SUDO systemctl daemon-reload
            $SUDO systemctl enable ollama

            start_service() { $SUDO systemctl restart ollama; }
            trap start_service EXIT
            ;;
        *)
            warning "systemd is not running"
            if [ "$IS_WSL2" = true ]; then
                warning "see https://learn.microsoft.com/en-us/windows/wsl/systemd#how-to-enable-systemd to enable it"
            fi
            ;;
    esac
}

if available systemctl; then
    configure_systemd
fi

# WSL2 only supports GPUs via nvidia passthrough
# so check for nvidia-smi to determine if GPU is available
if [ "$IS_WSL2" = true ]; then
    if available nvidia-smi && [ -n "$(nvidia-smi | grep -o "CUDA Version: [0-9]*\.[0-9]*")" ]; then
        status "Nvidia GPU detected."
    fi
    install_success
    exit 0
fi

# Don't attempt to install drivers on Jetson systems
if [ -f /etc/nv_tegra_release ] ; then
    status "NVIDIA JetPack ready."
    install_success
    exit 0
fi

# Install GPU dependencies on Linux
if ! available lspci && ! available lshw; then
    warning "Unable to detect NVIDIA/AMD GPU. Install lspci or lshw to automatically detect and install GPU dependencies."
    exit 0
fi

check_gpu() {
    # Look for devices based on vendor ID for NVIDIA and AMD
    case $1 in
        lspci)
            case $2 in
                nvidia) available lspci && lspci -d '10de:' | grep -q 'NVIDIA' || return 1 ;;
                amdgpu) available lspci && lspci -d '1002:' | grep -q 'AMD' || return 1 ;;
            esac ;;
        lshw)
            case $2 in
                nvidia) available lshw && $SUDO lshw -c display -numeric -disable network | grep -q 'vendor: .* \[10DE\]' || return 1 ;;
                amdgpu) available lshw && $SUDO lshw -c display -numeric -disable network | grep -q 'vendor: .* \[1002\]' || return 1 ;;
            esac ;;
        nvidia-smi) available nvidia-smi || return 1 ;;
    esac
}

if check_gpu nvidia-smi; then
    status "NVIDIA GPU installed."
    exit 0
fi

if ! check_gpu lspci nvidia && ! check_gpu lshw nvidia && ! check_gpu lspci amdgpu && ! check_gpu lshw amdgpu; then
    install_success
    warning "No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode."
    exit 0
fi

if check_gpu lspci amdgpu || check_gpu lshw amdgpu; then
    status "Downloading Linux ROCm ${ARCH} bundle"
    curl --fail --show-error --location --progress-bar \
        "https://ollama.com/download/ollama-linux-${ARCH}-rocm.tgz${VER_PARAM}" | \
        $SUDO tar -xzf - -C "$OLLAMA_INSTALL_DIR"

    install_success
    status "AMD GPU ready."
    exit 0
fi

CUDA_REPO_ERR_MSG="NVIDIA GPU detected, but your OS and Architecture are not supported by NVIDIA.  Please install the CUDA driver manually https://docs.nvidia.com/cuda/cuda-installation-guide-linux/"
# ref: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#rhel-7-centos-7
# ref: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#rhel-8-rocky-8
# ref: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#rhel-9-rocky-9
# ref: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#fedora
install_cuda_driver_yum() {
    status 'Installing NVIDIA repository...'
    
    case $PACKAGE_MANAGER in
        yum)
            $SUDO $PACKAGE_MANAGER -y install yum-utils
            if curl -I --silent --fail --location "https://developer.download.nvidia.com/compute/cuda/repos/$1$2/$(uname -m | sed -e 's/aarch64/sbsa/')/cuda-$1$2.repo" >/dev/null ; then
                $SUDO $PACKAGE_MANAGER-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/$1$2/$(uname -m | sed -e 's/aarch64/sbsa/')/cuda-$1$2.repo
            else
                error $CUDA_REPO_ERR_MSG
            fi
            ;;
        dnf)
            if curl -I --silent --fail --location "https://developer.download.nvidia.com/compute/cuda/repos/$1$2/$(uname -m | sed -e 's/aarch64/sbsa/')/cuda-$1$2.repo" >/dev/null ; then
                $SUDO $PACKAGE_MANAGER config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/$1$2/$(uname -m | sed -e 's/aarch64/sbsa/')/cuda-$1$2.repo
            else
                error $CUDA_REPO_ERR_MSG
            fi
            ;;
    esac

    case $1 in
        rhel)
            status 'Installing EPEL repository...'
            # EPEL is required for third-party dependencies such as dkms and libvdpau
            $SUDO $PACKAGE_MANAGER -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$2.noarch.rpm || true
            ;;
    esac

    status 'Installing CUDA driver...'

    if [ "$1" = 'centos' ] || [ "$1$2" = 'rhel7' ]; then
        $SUDO $PACKAGE_MANAGER -y install nvidia-driver-latest-dkms
    fi

    $SUDO $PACKAGE_MANAGER -y install cuda-drivers
}

# ref: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu
# ref: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#debian
install_cuda_driver_apt() {
    status 'Installing NVIDIA repository...'
    if curl -I --silent --fail --location "https://developer.download.nvidia.com/compute/cuda/repos/$1$2/$(uname -m | sed -e 's/aarch64/sbsa/')/cuda-keyring_1.1-1_all.deb" >/dev/null ; then
        curl -fsSL -o $TEMP_DIR/cuda-keyring.deb https://developer.download.nvidia.com/compute/cuda/repos/$1$2/$(uname -m | sed -e 's/aarch64/sbsa/')/cuda-keyring_1.1-1_all.deb
    else
        error $CUDA_REPO_ERR_MSG
    fi

    case $1 in
        debian)
            status 'Enabling contrib sources...'
            $SUDO sed 's/main/contrib/' < /etc/apt/sources.list | $SUDO tee /etc/apt/sources.list.d/contrib.list > /dev/null
            if [ -f "/etc/apt/sources.list.d/debian.sources" ]; then
                $SUDO sed 's/main/contrib/' < /etc/apt/sources.list.d/debian.sources | $SUDO tee /etc/apt/sources.list.d/contrib.sources > /dev/null
            fi
            ;;
    esac

    status 'Installing CUDA driver...'
    $SUDO dpkg -i $TEMP_DIR/cuda-keyring.deb
    $SUDO apt-get update

    [ -n "$SUDO" ] && SUDO_E="$SUDO -E" || SUDO_E=
    DEBIAN_FRONTEND=noninteractive $SUDO_E apt-get -y install cuda-drivers -q
}

if [ ! -f "/etc/os-release" ]; then
    error "Unknown distribution. Skipping CUDA installation."
fi

. /etc/os-release

OS_NAME=$ID
OS_VERSION=$VERSION_ID

PACKAGE_MANAGER=
for PACKAGE_MANAGER in dnf yum apt-get; do
    if available $PACKAGE_MANAGER; then
        break
    fi
done

if [ -z "$PACKAGE_MANAGER" ]; then
    error "Unknown package manager. Skipping CUDA installation."
fi

if ! check_gpu nvidia-smi || [ -z "$(nvidia-smi | grep -o "CUDA Version: [0-9]*\.[0-9]*")" ]; then
    case $OS_NAME in
        centos|rhel) install_cuda_driver_yum 'rhel' $(echo $OS_VERSION | cut -d '.' -f 1) ;;
        rocky) install_cuda_driver_yum 'rhel' $(echo $OS_VERSION | cut -c1) ;;
        fedora) [ $OS_VERSION -lt '39' ] && install_cuda_driver_yum $OS_NAME $OS_VERSION || install_cuda_driver_yum $OS_NAME '39';;
        amzn) install_cuda_driver_yum 'fedora' '37' ;;
        debian) install_cuda_driver_apt $OS_NAME $OS_VERSION ;;
        ubuntu) install_cuda_driver_apt $OS_NAME $(echo $OS_VERSION | sed 's/\.//') ;;
        *) exit ;;
    esac
fi

if ! lsmod | grep -q nvidia || ! lsmod | grep -q nvidia_uvm; then
    KERNEL_RELEASE="$(uname -r)"
    case $OS_NAME in
        rocky) $SUDO $PACKAGE_MANAGER -y install kernel-devel kernel-headers ;;
        centos|rhel|amzn) $SUDO $PACKAGE_MANAGER -y install kernel-devel-$KERNEL_RELEASE kernel-headers-$KERNEL_RELEASE ;;
        fedora) $SUDO $PACKAGE_MANAGER -y install kernel-devel-$KERNEL_RELEASE ;;
        debian|ubuntu) $SUDO apt-get -y install linux-headers-$KERNEL_RELEASE ;;
        *) exit ;;
    esac

    NVIDIA_CUDA_VERSION=$($SUDO dkms status | awk -F: '/added/ { print $1 }')
    if [ -n "$NVIDIA_CUDA_VERSION" ]; then
        $SUDO dkms install $NVIDIA_CUDA_VERSION
    fi

    if lsmod | grep -q nouveau; then
        status 'Reboot to complete NVIDIA CUDA driver install.'
        exit 0
    fi

    $SUDO modprobe nvidia
    $SUDO modprobe nvidia_uvm
fi

# make sure the NVIDIA modules are loaded on boot with nvidia-persistenced
if available nvidia-persistenced; then
    $SUDO touch /etc/modules-load.d/nvidia.conf
    MODULES="nvidia nvidia-uvm"
    for MODULE in $MODULES; do
        if ! grep -qxF "$MODULE" /etc/modules-load.d/nvidia.conf; then
            echo "$MODULE" | $SUDO tee -a /etc/modules-load.d/nvidia.conf > /dev/null
        fi
    done
fi

status "NVIDIA GPU ready."
install_success

(2)手动一步步安装方法(也可成为离线安装),已经使用方式(1)安装的可以跳过这部分内容。

下载和解压ollma包

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

启动ollama

ollama serve

再启动一个命令窗口,敲入下面指令验证ollama服务是否运行

ollama -v

安装AMD GPU

curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr -xzf ollama-linux-amd64-rocm.tgz

安装ARM64专用包

curl -L https://ollama.com/download/ollama-linux-arm64.tgz -o ollama-linux-arm64.tgz
sudo tar -C /usr -xzf ollama-linux-arm64.tgz

把ollama设置为启动服务

首先创建用户和组

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)

其次创建服务文件:/etc/systemd/system/ollama.service,文件内容如下:

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"

[Install]
WantedBy=multi-user.target

最后启动服务

sudo systemctl daemon-reload
sudo systemctl enable ollama

安装cuda驱动

运行nvidia-smi指令,定位所需cuda版本,到官网https://developer.nvidia.com/cuda-downloads

上下载对应驱动并安装。

启动ollama

sudo systemctl start ollama
sudo systemctl status ollama

2.验证安装是否成功

在命令窗口中输入下面指令,看ollama版本号是否正常输出。

ollama -v

二、下载DeepSeek R1模型

打开ollama官网首页,点击页面左上角的Models。

在新打开的页面中找到deepseek R1模型,点击它。

选择一个你想使用的模型,查看右边对应的指令。

因为只是测试,验证安装过程,所以这里选择了1.5b,对应的指令为

ollama run deepseek-r1:1.5b

复制它到命令窗口中执行,这是下载DeepSeek的过程,选的参数越大,文件越大,用时也就越长。过程中如果发现下载速度变慢了,可以ctrl+c中断它,重新运行可以获取较快的速度,每次重新运行都是继续上一次的下载进度。我的网速还好,6秒就搞定了。出现success就是安装成功了。

选择哪个参数的模型,可以参考下面的硬件配置:

三、使用本地部署的DeepSeek进行对话

使用ollama启动模型后,在>>>提示符后输入问题,即可进行对话。

敲入/bye命令退出对话界面,如果想重新进入对话模式,可以先用ollama list命令查看有哪些模型,再用ollama run deepseek-r1:1.5b命令启动模型。

四、用chatbox搭建web ui操作界面

每次都使用上面的方式对话,看起来很不习惯,所以需要一个图形界面。

搭建web ui的方法很多,这里使用常见的Chatbox。

到官网箭头指向处下载chatbox软件。

找到下载的文件,右键点击,查看属性,修改为可执行文件。

然后在命令窗口进入到上面文件所在目录,运行./Chatbox-1.11.3-x86_64.AppImage指令,启动chatbox应用。如果报错缺少fuse,先使用sudo apt install fuse指令安装。

正常启动chatbox后可以看到如下界面

五、把搭建的本地deepseek共享给局域网内的其他人

如果只是自己实验或者练练手,到上一步就结束了。如果要把部署的服务共享给企业里的其他人,参考如下步骤。

1.设置环境变量

export OLLAMA_HOST="0.0.0.0"
export OLLAMA_ORIGINS="*"

说明:

    OLLAMA_HOST=0.0.0.0:允许服务监听所有网络接口(而非仅本地)。
    OLLAMA_ORIGINS=*:允许所有来源的跨域请求(生产环境建议限制为特定域名)。

或通过配置文件修改(推荐)

文件名称与执行指令:~/.ollama/config.json

内容改为:

{ "host": "0.0.0.0", "port": 11434, "origins": ["*"] }

2.开放防火墙

sudo ufw allow 11434/tcp

sudo ufw reload

3.启动服务并验证

启动ollama服务:
ollama serve

获取本机局域网IP:
ifconfig

浏览器打开:
http://<你的本机IP>:11434
若返回模型列表,则配置成功。

4.客户端连接示例(以Chatbox为例)

其它机器安装Chatbox:

设置API:
模型提供方:选择 ollama api
API域名:填写 http://<你的本机IP>:11434
选择已加载的deekseek模型,开始对话。

六、卸载ollama和模型

1.删除ollama服务

sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service

2.删除ollama文件和目录

sudo rm $(which ollama)

3.删除模型文件、ollama服务用户和用户

sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama

4.删除相关的库

sudo rm -rf /usr/local/lib/ollama

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2325472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习处理时间序列(6)

RNN的高级用法 循环dropout&#xff08;recurrent dropout&#xff09;​&#xff1a;这是dropout的一种变体&#xff0c;用于在循环层中降低过拟合。 循环层堆叠&#xff08;stacking recurrent layers&#xff09;​&#xff1a;这会提高模型的表示能力&#xff08;代价是更…

【鸿蒙5.0】向用户申请麦克风授权

#效果图 步骤 在 config.json 里声明权限&#xff1a;在项目的 config.json 文件中添加麦克风权限的声明&#xff0c;告知系统应用需要使用该权限。检查权限状态&#xff1a;在代码里检查应用是否已经获得了麦克风权限。请求权限&#xff1a;若应用未获得麦克风权限&#xff0…

【解决】导入PNG图片,转 Sprite 格式成功但资产未生效问题

开发平台&#xff1a;Unity 6.0 图片格式&#xff1a;.png   问题描述 当 PNG 成功转换为 Sprite&#xff08;精灵&#xff09;时&#xff0c;资产状态将显示扩展箭头&#xff0c;即表明该资产可 Sprite 使用。 解决方法&#xff1a;设置正确的 Sprite Mode Single 关于 Spr…

从DeepSeek到Qwen,AI大模型的移植与交互实战指南

在不久前发布的《技术实战 | OK3588-C开发板上部署DeepSeek-R1大模型的完整指南》一文中&#xff0c;小编为大家介绍了DeepSeek-R1在飞凌嵌入式OK3588-C开发板上的移植部署、效果展示以及性能评测&#xff0c;本篇文章不仅将继续为大家带来关于DeepSeek-R1的干货知识&#xff0…

SkyWalking+Springboot实战

1、下载SkyWalking APM 1.手动下载 Downloads | Apache SkyWalkinghttps://skywalking.apache.org/downloads/ 2.链接下载 https://dlcdn.apache.org/skywalking/10.2.0/apache-skywalking-apm-10.2.0.tar.gzhttps://dlcdn.apache.org/skywalking/10.2.0/apache-skywalking-…

org.apache.maven.surefire:surefire-junit-platform:jar:2.22.2 Maven打包失败

org.apache.maven.surefire:surefire-junit-platform:jar:2.22.2 解决办法 勾上这个&#xff0c;打包时跳过测试代码

在机器人和无人机时代,测绘人的出路在哪里?

一、技术革命&#xff1a;当测绘行业按下“加速键” 无人机与机器人技术正在重塑测绘行业的底层逻辑。传统测绘依赖人工作业&#xff0c;效率低、成本高且风险大&#xff0c;而无人机凭借其灵活性和高效性&#xff0c;已能快速完成大范围地形测绘&#xff0c;精度可达厘米级&a…

linux》》docker 、containerd 保存镜像、打包tar、加载tar镜像

Linux》》docker: 默认情况下&#xff0c;Docker镜像保存在/var/lib/docker/目录下。 当您使用docker pull命令从Docker Hub或私有镜像仓库中拉取镜像时&#xff0c;Docker会自动将镜像文件保存在/var/lib/docker/image/目录下。 每个镜像都由一个或多个层组成&#xff0c;这些…

DeepSeek+Kimi:PPT制作的效率革命

摘要&#xff1a;传统PPT制作面临模板选择困难、内容逻辑混乱、设计排版能力有限以及反复修改等问题。DeepSeek和Kimi两款AI工具的组合为PPT制作提供了全新的解决方案。DeepSeek擅长内容生成与逻辑推理&#xff0c;能够快速生成高质量的PPT大纲和内容&#xff1b;Kimi则专注于长…

电影交流|基于Java+vue的电影交流平台小程序系统(源码+数据库+文档)

电影交流平台 目录 基于SprinBootvue的电影交流平台小程序系统 一、前言 二、系统设计 三、系统功能设计 1用户信息管理 2 电影信息管理 3公告信息管理 4论坛信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

深度学习入门(二):从感知机到神经网络

文章目录 前言一个神经网络的例子激活函数登场3层神经网络的实现矩阵运算3层神经网络示意图符号定义第一层信号传递第二层信号传递第三层信号传递 代码实现实践&#xff1a;手写数字识别参考资料 前言 上一篇文章我们学习了感知机&#xff0c;因为它和神经网络有很多共同点&am…

AI三大主义 和 深度学习三大主义

在人工智能&#xff08;AI&#xff09;研究领域&#xff0c;"三大主义"通常指三种核心方法论或思想流派&#xff0c;它们代表了不同的技术路径和哲学观点。以下是主流的划分方式&#xff1a; 1. 符号主义&#xff08;Symbolicism&#xff09; 核心思想&#xff1a;智…

探索 Vue 中的多语言切换:<lang-radio /> 组件详解!!!

探索 Vue 中的多语言切换&#xff1a;<lang-radio /> 组件详解 &#x1f30d; 嗨&#xff0c;大家好&#xff01;&#x1f44b; 今天我们来聊聊如何在 Vue 项目中实现一个优雅的多语言切换功能——<lang-radio /> 组件。这是一个小而美的组件&#xff0c;出现在登…

搭建私人对外git空间

# 创建用户&#xff0c;指定不可登录的 Shell&#xff08;git-shell 或 /usr/sbin/nologin&#xff09; sudo adduser --system --shell /usr/bin/git-shell --group git # 验证用户配置 grep git /etc/passwd # 预期输出&#xff1a;git:x:998:998::/home/git:/usr/bin/git-s…

DeepSeek本地部署(linux)

一、下载并安装Ollama 1.下载Ollama Ollama官网:Ollama 点击"Download",会跳转至下载页面。 1.1在线下载安装 可复制此命令到Linux服务器进行在线下载,如下载速度过慢,可选择离线下载安装。 curl -fsSL https://ollama.com/install.sh | sh1.2离线下载安装 …

MySQL的基础语法1(增删改查、DDL、DML、DQL和DCL)

目录 一、基本介绍 二、SQL通用语法 三、SQL分类(DDL、DML、DQL、DCL) 1.DDL 1.1数据库操作 1.2表操作 1.2.1表操作-查询创建 1.2.2表操作-数据类型 1&#xff09;数值类型 2&#xff09;字符串类型 3&#xff09;日期时间类型​编辑 4&#xff09;表操作-案例 1.2.3…

Oracle数据库数据编程SQL<3.3 PL/SQL 游标>

游标(Cursor)是Oracle数据库中用于处理查询结果集的重要机制&#xff0c;它允许开发者逐行处理SQL语句返回的数据。 目录 一、游标基本概念 1. 游标定义 2. 游标分类 二、静态游标 &#xff08;一&#xff09;显式游标 【一】不带参数&#xff0c;普通的显示游标 1. 显式…

畅享电脑流畅运行:深度卸载、智能监视与空间释放

软件介绍 在数字化办公与娱乐高度融合的当下&#xff0c;电脑承载着我们诸多重要任务&#xff0c;然而&#xff0c;随着软件的频繁安装与卸载&#xff0c;系统逐渐被各种顽固软件及其残留 “拖垮”&#xff0c;运行速度变慢、磁盘空间告急等问题接踵而至。别愁&#xff0c;今天…

Visual Studio Code 无法打开源文件解决方法

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux &#x1f525; 系列专栏&#xff1a;C从入门到精通 目录 一&#xff1a;&#x1f525; 突发状况 二&#xff1a;&#x1f525; 共勉 一&#xff1a;&#x1f525; 突发状况 &#x1f42c;…

核函数(机器学习深度学习)

一、核函数的基本概念 核函数&#xff08;Kernel Function&#xff09; 是机器学习中处理非线性问题的核心工具&#xff0c;通过隐式映射将数据从原始空间转换到高维特征空间&#xff0c;从而在高维空间中实现线性可分或线性建模。其数学本质是计算两个样本在高维空间中的内积…