Linux+深度学习+anaconda中涉及的环境变量
Linux系统中的环境变量
在Linux系统中,环境变量是一种在操作系统级别用于存储和传递配置信息以及其他参数的机制。它们对于管理系统和应用程序的行为非常重要。以下是有关Linux环境变量的一些关键信息:
- 环境变量的命名规则:
- 环境变量的名称通常使用大写字母。
- 环境变量名称中可以包含字母、数字和下划线,但不能包含空格或特殊字符。
- 通常,环境变量的名称是区分大小写的。
- 环境变量的作用:
- 环境变量可以存储各种类型的信息,包括配置参数、路径、系统设置、语言设置、用户首选项等。
- 它们可以在不同的进程和终端之间传递信息,以及在不同的会话和登录会话之间共享数据。
- 查看环境变量:
- 使用
echo $VARIABLE_NAME
可以查看特定环境变量的值。例如,要查看PATH
环境变量的值,可以运行echo $PATH
。 - 使用
env
或printenv
命令可以列出所有当前的环境变量及其值。 - 使用
set
命令可以列出所有环境变量以及其他shell变量。
- 使用
- 设置环境变量:
- 在Linux中,可以使用
export
命令来设置环境变量。例如,要设置一个名为MY_VARIABLE
的环境变量,可以运行export MY_VARIABLE="some_value"
。 - 通常,环境变量可以在用户的
.bashrc
或.bash_profile
等初始化文件中设置,以便在每次登录时都可用。 - 也可以在命令行中直接设置环境变量,但这些更改通常只在当前会话中生效。
- 在Linux中,可以使用
- 永久保存环境变量:
- 若要使环境变量的更改永久生效,可以将其添加到适当的shell配置文件中,如
~/.bashrc
或~/.profile
。 - 永久保存的环境变量将在每次登录时自动加载。
- 若要使环境变量的更改永久生效,可以将其添加到适当的shell配置文件中,如
- 常见的Linux环境变量:
PATH
: 包含了用于查找可执行文件的路径列表。HOME
: 指定当前用户的主目录。USER
: 存储当前用户名。SHELL
: 指定用户的默认shell。LANG
和LC_*
: 用于设置系统的语言和区域设置。
总之,Linux环境变量是非常有用的,用于配置和管理系统和应用程序的行为。它们可以在不同的应用程序和终端会话中共享和传递信息,是Linux系统的重要组成部分。
Linux环境变量的存储文件
在Linux系统中,每个用户的环境变量通常存储在用户的主目录下的不同文件中,具体取决于登录shell和用户的配置文件。以下是一些常见的配置文件以及它们的作用:
- ~/.bashrc:
- 对于使用Bash shell的用户来说,这是一个常见的配置文件。
- 通常用于存储用户级别的自定义环境变量和命令别名。
- 这个文件在用户每次登录时都会被加载。
- ~/.bash_profile:
- 这是Bash shell的另一个配置文件,通常在用户登录时执行。
- 它通常包含与用户级别的环境变量、自定义路径和其他登录相关的设置有关的内容。
- 请注意,如果
.bash_profile
存在,则.bashrc
通常不会被加载。
- ~/.profile:
- 这是一个通用的配置文件,适用于大多数shell。
- 它用于存储用户级别的环境变量和配置。
- 通常在用户登录时执行。
- ~/.zshrc:
- 对于使用Zsh shell的用户来说,这是常见的配置文件。
- 类似于
.bashrc
,用于存储用户级别的自定义环境变量和命令别名。 - 这个文件在用户每次登录时都会被加载。
请注意,不同的Linux发行版和shell可能会使用不同的配置文件名称或位置,但上述文件是常见的情况。用户可以根据需要在这些文件中设置自己的环境变量,以便在每次登录时都可用。在修改这些配置文件后,通常需要重新启动终端会话或运行source
命令以使更改生效。
linux中查看环境变量
在Linux中,您可以使用不同的方式来查看环境变量,以下是几种常见的方法:
-
使用
echo
命令:-
使用``echo
命令可以查看特定环境变量的值。例如,要查看
PATH`环境变量的值,可以运行以下命令:echo $PATH
-
-
使用
env
命令或printenv
命令:-
您可以使用
env
命令或printenv
命令列出所有当前的环境变量及其值。运行以下命令:env
或
printenv
-
-
使用
set
命令:set
命令可以列出所有环境变量以及其他shell变量。运行以下命令:-
set
-
-
查看特定环境变量文件:
- Linux系统将环境变量存储在
/etc/environment
和/etc/profile
这些文件中。您可以使用文本编辑器查看这些文件,以查看系统级别的环境变量。
- Linux系统将环境变量存储在
-
查看用户级别的环境变量文件:
- 每个用户可以在其主目录下的
.bashrc
、.bash_profile
或.profile
等文件中定义环境变量。您可以使用文本编辑器查看这些文件,以查看用户级别的环境变量。
- 每个用户可以在其主目录下的
-
使用
echo
命令查看特定环境变量是否存在:-
您可以使用
echo
命令来检查特定环境变量是否存在。例如,要检查是否存在名为MY_VARIABLE
的环境变量,可以运行以下命令:echo $MY_VARIABLE
-
通常情况下,环境变量在系统启动时从配置文件中加载,并且在每个用户的shell会话中都可用。如果您希望永久设置环境变量,可以编辑相应的配置文件(如~/.bashrc
或~/.profile
)并添加设置环境变量的行。不过,更改配置文件后,您可能需要重新启动终端会话或运行source
命令以使更改生效。
深度学习中涉及的环境变量
在深度学习中,有一些特定的环境变量经常用于配置和管理深度学习框架和库的行为。这些环境变量可以影响模型训练、GPU使用、数据加载以及其他方面的行为。以下是一些深度学习中常见的环境变量:
- CUDA_VISIBLE_DEVICES:
- 该环境变量用于控制哪些GPU设备在训练过程中可见。
- 通过设置该变量,您可以限制在特定GPU上运行深度学习任务,这在多GPU系统上很有用。
- 示例:
export CUDA_VISIBLE_DEVICES=0,1
将限制任务在GPU 0 和 GPU 1 上运行。
- TF_FORCE_GPU_ALLOW_GROWTH(TensorFlow专用):
- TensorFlow的环境变量,用于控制GPU内存分配策略。
- 设置为
true
时,将允许GPU内存按需增长,而不是一次性分配所有内存。 - 示例:
export TF_FORCE_GPU_ALLOW_GROWTH=true
。
- PYTHONPATH:
- 该环境变量定义了Python解释器用于查找模块的路径。
- 在深度学习中,它通常用于将自定义模块的路径添加到Python解释器的搜索路径中,以便能够导入自定义代码。
- 示例:
export PYTHONPATH=/path/to/your/custom/modules
.
- DATA_DIR:
- 用于指定数据集的存储路径,这在训练深度学习模型时非常重要。
- 通过设置这个环境变量,您可以轻松地更改数据集的位置,而不必修改代码。
- 示例:
export DATA_DIR=/path/to/your/dataset
.
- CHECKPOINT_DIR:
- 用于指定模型检查点(checkpoint)的保存路径。
- 检查点是在训练期间保存模型权重的文件,用于恢复模型或进行迁移学习。
- 示例:
export CHECKPOINT_DIR=/path/to/your/checkpoints
.
- NUM_THREADS:
- 用于控制数据加载和处理的并行线程数。
- 通过设置此环境变量,您可以优化数据加载的性能。
- 示例:
export NUM_THREADS=4
将使用4个线程进行数据加载。
- KERAS_BACKEND:
- 用于指定Keras库的后端(backend),例如TensorFlow或Theano。
- 通过设置此环境变量,您可以切换Keras的后端实现。
- 示例:
export KERAS_BACKEND=tensorflow
将使用TensorFlow作为Keras的后端。
请注意,这些环境变量的具体用法和名称可能因深度学习框架、库和工具的不同而有所变化。在使用特定框架时,建议查阅相关文档以获取更多信息,并了解如何正确配置这些环境变量以满足您的需求。
pytorch框架中涉及的环境变量
PyTorch 是一个流行的深度学习框架,它使用一些环境变量来配置和管理其行为。以下是一些与 PyTorch 相关的常见环境变量:
- CUDA_VISIBLE_DEVICES:
- 与深度学习中的其他环境一样,
CUDA_VISIBLE_DEVICES
用于控制哪些GPU设备在 PyTorch 任务中可见。 - 通过设置此环境变量,您可以限制在特定GPU上运行 PyTorch 模型。
- 示例:
export CUDA_VISIBLE_DEVICES=0,1
将限制任务在 GPU 0 和 GPU 1 上运行。
- 与深度学习中的其他环境一样,
- OMP_NUM_THREADS:
- 此环境变量用于控制 PyTorch 在多线程操作中使用的线程数。
- 在某些情况下,您可能需要手动设置此变量以优化性能。
- 示例:
export OMP_NUM_THREADS=4
将使用 4 个线程。
- TORCH_HOME:
TORCH_HOME
环境变量允许您指定用于下载和缓存 PyTorch 预训练模型的根目录。- 默认情况下,PyTorch 将在用户的主目录下创建
.cache/torch
目录,但您可以通过设置此环境变量来更改缓存位置。 - 示例:
export TORCH_HOME=/path/to/your/cache/directory
。
- TORCH_CUDA_ARCH_LIST:
- 如果您在编译 PyTorch 时使用了自定义的 CUDA 架构列表,那么此环境变量可以用于指定 PyTorch 使用的 CUDA 架构。
- 默认情况下,PyTorch 会自动检测支持的CUDA架构,但在某些情况下,您可能需要手动设置此变量。
- 示例:
export TORCH_CUDA_ARCH_LIST="7.5"
。
- TORCH_MODEL_ZOO:
TORCH_MODEL_ZOO
环境变量用于指定预训练模型的下载目录。- 如果您想自定义 PyTorch 预训练模型的存储位置,可以设置此环境变量。
- 示例:
export TORCH_MODEL_ZOO=/path/to/your/pretrained/models
。
- TORCH_HOME:
TORCH_HOME
环境变量可以用于指定 PyTorch 的根目录,其中包括模块的路径。- 通过设置此环境变量,您可以更改默认的 PyTorch 模块搜索路径。
- 示例:
export TORCH_HOME=/path/to/your/pytorch/directory
。
请注意,这些环境变量的使用方式可能会根据 PyTorch 的版本和配置而有所不同。在使用 PyTorch 时,建议查阅相关文档以获取更多信息,并了解如何正确配置这些环境变量以满足您的需求。
anaconda的环境变量
Anaconda是一个用于数据科学和机器学习的Python发行版,它使用环境变量来配置和管理Anaconda环境。以下是一些与Anaconda环境相关的常见环境变量:
- PATH:
PATH
环境变量是Anaconda中最重要的环境变量之一。它用于指定系统在哪里查找可执行文件。- Anaconda会将Anaconda环境的路径添加到
PATH
中,以确保可以在终端中访问Anaconda的工具和Python解释器。
- CONDA_PREFIX:
CONDA_PREFIX
环境变量指定了当前活动的Conda环境的路径。- 您可以使用
echo $CONDA_PREFIX
来查看当前的Conda环境的路径。
- CONDA_DEFAULT_ENV:
CONDA_DEFAULT_ENV
环境变量存储了当前活动的Conda环境的名称。- 您可以使用
echo $CONDA_DEFAULT_ENV
来查看当前的Conda环境的名称。
- PYTHONPATH:
- Anaconda环境通常会自动配置
PYTHONPATH
,以便Python可以找到特定环境中安装的库和模块。
- Anaconda环境通常会自动配置
- MKL_THREADING_LAYER:
MKL_THREADING_LAYER
环境变量用于配置Intel Math Kernel Library (MKL)的线程层次。- 在某些情况下,您可能需要更改此变量以优化数学运算性能。
- ANACONDA_PROMPT_MODIFIER:
ANACONDA_PROMPT_MODIFIER
环境变量用于自定义终端提示符中显示的Anaconda环境的信息。- 默认情况下,它包含了当前Conda环境的名称。
这些环境变量有助于管理和配置Anaconda环境,使您可以轻松切换和使用不同的Python环境和工具。Anaconda会自动配置这些环境变量,以便在使用Anaconda时能够无缝地切换Python环境和工具。您可以使用echo $VARIABLE_NAME
来查看特定环境变量的值。请注意,Anaconda环境变量的确切名称和值可能会根据Anaconda的版本和配置而有所不同,因此建议查阅Anaconda文档以获取更多信息。
anaconda环境变量的存储位置
Anaconda 的环境变量配置通常存储在 Anaconda 安装目录下的一些特定文件中。以下是 Anaconda 中常见的环境变量配置文件:
- Linux/macOS:
- 在 Linux 和 macOS 系统上,Anaconda 环境变量配置通常存储在 Anaconda 安装目录的
etc/conda/activate.d/
和etc/conda/deactivate.d/
目录中的 shell 脚本文件中。 - 例如,如果您使用 Bash shell,则可以在
activate.d/
和deactivate.d/
目录中找到*.sh
文件,这些文件包含了在激活和停用 Conda 环境时设置和清除环境变量的脚本。
- 在 Linux 和 macOS 系统上,Anaconda 环境变量配置通常存储在 Anaconda 安装目录的
- Windows:
- 在 Windows 系统上,Anaconda 环境变量通常存储在 Anaconda 安装目录下的
etc\conda\activate.d\
和etc\conda\deactivate.d\
目录中的批处理文件中(以.bat
为扩展名)。 - 例如,
activate.d
目录中的批处理文件包含在激活 Conda 环境时设置环境变量的命令。
- 在 Windows 系统上,Anaconda 环境变量通常存储在 Anaconda 安装目录下的
这些文件中的内容会在激活和停用 Anaconda 环境时自动执行,以设置和清除环境变量。Anaconda 会根据所选的环境来调整这些配置,以确保环境变量的正确设置。
需要注意的是,具体的文件名和路径可能会根据 Anaconda 版本和配置而有所不同。如果您需要查看或编辑 Anaconda 的环境变量配置,请浏览您的 Anaconda 安装目录,查找以 .sh
(对于 Unix-like 系统)或 .bat
(对于 Windows 系统)为扩展名的脚本文件。