通常程序员们会选择 Ubuntu 这类 linux 环境开发深度学习算法,但在 Windows 做类似的工作有时也会带来很多方便。本文梳理一下在 Windows 部署深度学习开发环境的一般步骤,供大家参考。
一、检查GPU显卡
1、查看显卡规格
在Windows下,可以通过以下几种方法查看GPU规格:
- 使用Windows设置:
- 打开「设置」,可以通过快捷键Windows + I实现。
- 依次点击「系统」-「屏幕」-「高级显示器设置」。
- 在「显示器 1」旁边,可以看到显卡的名称。
- 使用任务管理器:
- 右键单击屏幕底部的任务栏,选择“任务管理器”,或使用Ctrl+Shift+Esc快捷键打开。
- 选择窗口顶部的「性能」选项卡。
- 在侧边栏中选择「GPU 0」或相应的GPU编号。
- GPU的制造商、型号名称以及专用内存量等规格信息会显示在窗口的右上角。
- 使用设备管理器:
- 打开「设备管理器」,在其中可以查看各种硬件设备的信息,包括GPU。
- 在「显示适配器」部分,可以看到GPU的型号,并且可以进一步查看其属性以获取更多详细信息。
- 使用命令行工具:
- 如果你的计算机上安装了NVIDIA显卡,可以通过命令行工具nvidia-smi来查看GPU驱动版本和其他相关信息。
- 点开任务栏中的“搜索”,输入“cmd”,打开命令窗口。
- 在命令窗口中输入nvidia-smi命令,即可查看GPU的相关信息。
以上就是在Windows下查看GPU规格的几种常见方法,你可以根据自己的需求和习惯选择合适的方式进行查看。
2. 查看 GPU 驱动程序
比如,你的机器上安装了 RTX3060,要查看Windows是否安装了RTX 3060驱动程序,你可以按照以下步骤进行操作:
-
打开设备管理器:
- 使用快捷键Win + X,并选择“设备管理器”。
- 或者在开始菜单中搜索并打开“设备管理器”。
- 还可以使用快捷键Win + R,输入“devmgmt.msc”,然后按Enter键打开设备管理器。
-
查找显示适配器:
- 在设备管理器窗口中,找到并点击展开“显示适配器”选项。
-
查看显卡驱动信息:
- 在“显示适配器”下方,你会看到已安装的显卡驱动信息。找到与RTX 3060相关的条目。
- 双击展开显卡驱动后,你可以查看其详细信息,包括驱动程序提供商、驱动程序版本号等。
如果在“显示适配器”下看到了RTX 3060及其相关的驱动程序信息,那么你的Windows系统就已经安装了RTX 3060的驱动程序。
请注意,如果你最近升级了显卡或更改了硬件配置,可能需要重新启动计算机才能使新的驱动程序生效。同时,确保你安装的驱动程序是从NVIDIA官方网站下载的,以确保其兼容性和稳定性。
如果“显示适配器”下没有RTX 3060的条目,或者显示的是其他型号的显卡,那么可能是驱动程序没有正确安装,或者你的计算机没有识别到RTX 3060显卡。在这种情况下,你需要检查显卡是否正确安装在计算机上,或者尝试重新安装显卡驱动程序。
二、安装 CUDA Toolkit
安装RTX 3060的驱动程序是开始使用显卡进行深度学习工作的第一步,但仅仅安装驱动程序并不足以直接开始深度学习。你还需要确保你的系统满足深度学习的其他要求,并安装必要的软件和框架。
以下是一些你需要考虑和完成的步骤:
-
检查系统要求:
- 确保你的Windows系统支持CUDA(Compute Unified Device Architecture),这是NVIDIA显卡用于通用计算的并行计算平台和API模型。
- 确保你的RTX 3060显卡有足够的显存来支持你的深度学习模型。
-
安装CUDA Toolkit:
- NVIDIA CUDA Toolkit包含了开发CUDA程序所需的库、工具和文档。你需要从NVIDIA官方网站下载并安装与你的显卡和操作系统兼容的CUDA Toolkit版本。
-
安装cuDNN:
- cuDNN是NVIDIA开发的针对深度神经网络的GPU加速库。它是CUDA的深度学习扩展,能提供更高效的深度神经网络前向和后向传播函数。
-
安装深度学习框架:
- 选择一个深度学习框架,如TensorFlow、PyTorch等,并根据框架的文档安装对应的GPU版本。这些框架通常支持CUDA和cuDNN,从而可以利用NVIDIA显卡进行加速。
-
配置环境变量:
- 根据你的深度学习框架和CUDA Toolkit的安装路径,配置相应的环境变量,以确保框架能够正确地找到和使用CUDA和cuDNN库。
-
验证安装:
- 编写一个简单的深度学习模型或运行框架提供的示例代码,以验证你的GPU是否正确安装并可以正常工作。
请注意,深度学习通常需要大量的计算资源和显存,因此确保你的RTX 3060显卡有足够的性能来处理你的任务。同时,不同的深度学习框架和项目可能需要不同版本的CUDA和cuDNN,因此务必仔细阅读并遵循框架和库的官方安装指南。
完成上述步骤后,你就可以开始探索深度学习了。记得保持对最新技术和工具的关注,以便在需要时更新和优化你的深度学习环境。
1 、CUDA
要检查Windows是否安装了CUDA,你可以按照以下步骤进行:
-
通过NVIDIA显卡驱动程序检查:
- 打开Windows的“控制面板”,然后选择“程序”或“程序和功能”。
- 在这里,找到NVIDIA显卡驱动程序并检查其版本。如果CUDA被安装,通常可以在驱动程序的版本号中找到相应的标识。
-
使用命令提示符检查:
- 按下Win键 + R键,打开“运行”对话框,输入“cmd”并按下回车键,打开命令提示符窗口。
- 在命令提示符窗口中,输入“nvcc -V”并按下回车键。如果你的电脑安装了CUDA,它将显示CUDA的版本信息。
-
查看系统信息:
- 如果你已经安装了NVIDIA控制面板,你可以通过开始菜单进入NVIDIA控制面板。
- 在NVIDIA控制面板中,找到“帮助”或“系统信息”选项,然后查看组件部分,特别是与“cuda”相关的参数。这将显示你的显卡所支持的CUDA版本。
-
使用nvidia-smi命令:
- 打开命令提示符窗口,并输入“nvidia-smi”。这个命令将显示关于你的NVIDIA显卡的详细信息,包括驱动版本和CUDA版本(如果已安装)。
- 如果提示“nvidia-smi显示不是内部或外部指令”,可以先输入“cd C:\Program Files\NVIDIA Corporation\NVSMI”再使用“nvidia-smi”命令。
通过上述方法,你应该能够确认Windows是否安装了CUDA以及安装的版本。如果CUDA未安装或版本不匹配,你可能需要从NVIDIA官方网站下载并安装适合你显卡和操作系统的CUDA版本。
2、nvcc
nvcc是一种编译器驱动程序,主要用于简化C++或PTX代码的编译过程。它提供简单且熟悉的命令行选项,并通过调用实现不同编译阶段的工具集合来执行编译任务。nvcc的主要工作流程包括将设备代码与主机代码分离,然后将设备代码编译成汇编形式(PTX代码)或二进制形式(cubin对象),并通过CUDA运行时函数的调用来替换。
nvcc的命令行参数非常丰富,可以用来指定各种编译选项。例如,-arch arch_value
用于指定目标GPU架构;-g
用于生成调试信息,方便进行程序的调试;-I include_dir
用于添加头文件搜索路径;-L lib_dir
用于添加库文件搜索路径;-l lib_name
用于链接静态库;-c
表示只编译不链接,生成目标文件;-ptx
用于生成PTX代码;而-cubin
则用于生成二进制代码。
此外,nvcc在CUDA编程中扮演着重要角色。CUDA编程模型由C++语言的最小扩展集和运行时库组成,而包含这些扩展的任何源文件都必须使用nvcc进行编译。这使得熟悉C++编程语言的用户能够轻松地编写供设备执行的程序。
总的来说,nvcc是一个功能强大的编译器工具,对于进行CUDA编程和使用NVIDIA GPU进行高性能计算的开发者来说,它是不可或缺的。
3、 nvidia-smi
nvidia-smi
(NVIDIA System Management Interface)是一个命令行实用程序,主要用于监控和管理NVIDIA GPU(图形处理器)的状态和性能。它为用户提供了一种简单而强大的方式来获取有关GPU的实时信息,进而用于诊断、优化和管理GPU资源。
在大多数情况下,nvidia-smi
是与NVIDIA GPU驱动程序一起安装的。当安装NVIDIA GPU驱动程序时,nvidia-smi
工具通常会自动包含在驱动程序软件包中,并在安装过程中将其放置在适当的位置。
通过nvidia-smi
,用户可以查看每个GPU的编号、型号、驱动版本、总内存、已用内存、GPU利用率、温度、功率使用情况等关键信息。这些信息对于确定哪个进程可能占用了太多资源或者优化GPU资源使用尤为有用。例如,用户可以使用nvidia-smi
来监控GPU的利用率、温度以及内存使用情况,以确保一切正常并最大化资源的使用。
此外,nvidia-smi
还提供了其他多种功能。例如,它可以列出所有可用的NVIDIA设备,查看系统拓扑,以及动态地观察GPU的状态。用户还可以使用nvidia-smi
来查看当前的GPU时钟速度、默认时钟速度和最大可能的时钟速度,以及显示每个GPU的可用时钟速度列表。
此外,nvidia-smi
还可以用于启用和禁用GPU配置选项,如ECC内存功能。这对于需要高级GPU功能配置的用户来说是非常有用的。
总的来说,nvidia-smi
是一个非常有用的工具,尤其是对于需要密切监视和管理其GPU资源的用户,如机器学习研究员、数据分析师、高性能计算用户等。通过nvidia-smi
,用户可以更好地了解GPU的工作状态,优化资源使用,从而确保系统的稳定性和高效性。
4、 CUDA Toolkit
检查CUDA Toolkit是否已安装,可以按照以下步骤进行:
-
在终端或命令提示符中输入命令:
- 打开终端(Linux或macOS)或命令提示符(Windows)。
- 输入
nvcc -V
命令。如果CUDA Toolkit已经安装,则会显示其版本号。
-
对于Linux系统:
- 可以通过
dpkg -l | grep nvidia-cuda-toolkit
命令来查看CUDA Toolkit的安装情况。如果已经安装,则会显示安装的版本号。
- 可以通过
-
对于Windows系统:
- 在“控制面板”中查看已安装的程序列表,找到CUDA Toolkit并查看其版本号。
-
检查GPU驱动程序:
- CUDA需要与适当的GPU驱动程序配合使用。确保已经安装了最新的NVIDIA GPU驱动程序。可以使用NVIDIA系统管理工具(例如NVIDIA Control Panel)来确认GPU驱动程序是否已正确安装。
请注意,如果上述步骤中未能找到CUDA Toolkit的相关信息,那么很可能CUDA Toolkit尚未安装。在这种情况下,你可能需要前往NVIDIA官方网站下载并安装适合你的系统和GPU的CUDA Toolkit版本。安装过程中请按照官方指南进行操作,以确保安装正确无误。
安装完成后,你可以通过运行示例代码来验证CUDA Toolkit是否安装成功。示例代码通常存储在CUDA安装目录的示例文件夹中。你可以切换到示例代码目录,然后按照相应的文档来编译和运行示例代码。如果代码能够成功编译并运行,那么可以确认CUDA Toolkit已经安装并可以正常工作。
三、安装部署深度学习开发环境
下面以 Pytorch 为例说明如何安装部署深度学习开发环境。
1、在Windows下安装PyTorch
在Windows下安装PyTorch,可以按照以下步骤进行:
首先,需要安装Anaconda,它是一个优秀的Python环境和包管理软件,使用软件包管理系统Conda进行管理,非常适合用于管理PyTorch所需要的环境和包。安装完成后,在Anaconda Prompt中创建一个新的Python环境,并激活该环境。
接下来,需要确保已经安装了CUDA Toolkit和cuDNN。这两个库是PyTorch使用GPU进行深度学习计算所必需的。可以从NVIDIA的官方网站下载并安装它们。
然后,进入PyTorch的官方网站,查看安装命令。根据自己的需求(例如是否使用GPU、Python的版本等)选择合适的安装命令。在Anaconda Prompt中,使用Conda或者pip来安装PyTorch。
最后,安装完成后,可以通过运行一段简单的PyTorch代码来测试安装是否成功。例如,可以创建一个简单的张量(Tensor)并进行一些基本的操作。
请注意,安装PyTorch时需要注意CUDA的版本、Python的版本以及操作系统的兼容性。如果版本不匹配,可能会导致安装失败或者无法正常运行。此外,安装过程中如果遇到任何问题,可以查阅PyTorch的官方文档或者在相关的社区和论坛中寻求帮助。
以上就是在Windows下安装PyTorch的基本步骤。具体的安装过程可能会因为不同的系统和环境而有所差异,因此在实际操作中需要根据具体情况进行调整。
2、安装Anaconda
安装Anaconda的步骤如下:
- 打开浏览器,输入“Anaconda”或者访问“https://www.anaconda.com/”进入Anaconda官网。在官网首页,可以看到默认的Anaconda版本是针对Windows的,直接点击“Download”即可下载。
- 下载完成后,找到下载的Anaconda安装包,双击运行它。注意,安装包的文件名可能类似于“Anaconda3-xxxx.xx-Windows-x86_64.exe”,其中“xxxx.xx”是版本号,具体会根据你下载的版本有所不同。
- 在安装过程中,点击“Next”进行下一步。
- 接下来,会看到一个许可协议页面,点击“I Agree”表示你同意该协议。
- 在接下来的页面,会看到“Just Me”和“All Users”两个选项。“Just Me”是只供当前用户使用,“All Users”是供使用这台电脑的所有用户使用。这是权限问题,无论选择哪个,对安装空间影响不大。一般来说,如果电脑只有你一个人使用,可以选择“Just Me”。如果电脑有多个用户,建议选择“All User”。选择后,点击“Next”进入下一步。
- 然后,需要设置Anaconda的安装路径。路径名称最好为全英文,文件夹需要为空。不建议将Anaconda安装在C盘,因为Anaconda软件占用内存比较大。设置完成后,点击“Next”。
- 接下来,点击“Install”开始安装。如果不选择其他选项,就需要手动将Anaconda添加到PATH环境变量中。
- 安装完成后,点击“Next”和“Finish”完成安装过程。
安装完成后,还需要配置环境变量。在Windows系统中,可以通过“系统属性”->“高级”->“环境变量”来设置。在“系统变量”中找到“Path”,并进行编辑,添加Anaconda的安装路径。具体路径可能类似于“C:\Anaconda3”、“C:\Anaconda3\Scripts”和“C:\Anaconda3\Library\bin”。
完成以上步骤后,Anaconda就已经成功安装并配置好了。你可以通过在命令行中输入“conda --version”来检查是否安装成功。如果返回了版本号,那就说明安装成功了。然后你就可以开始使用Anaconda来管理你的Python环境和包,包括安装PyTorch等深度学习框架了。
3、Anaconda 简介
Anaconda是一个开源的Python发行版本,它包含了Python和众多常用的科学计算类的库,如pandas、numpy、matplotlib等,以及一个强大的包管理器conda。这些库使得数据分析、可视化和处理变得更为方便。此外,Anaconda还集成了机器学习库,如Scikit-learn,适用于机器学习和深度学习等广泛的使用场景。
Anaconda的特点之一是它包含了Conda,一个强大的包管理和环境管理工具。用户能够利用conda轻松创建、导出、安装和更新环境,避免环境混乱的问题。同时,conda还可以管理不同版本的Python以及Python包,将它们隔离开来以避免相互影响。
安装Anaconda时,用户可以根据自己的操作系统(Windows、Mac OS X、Linux)和位数(32位或64位)选择合适的版本进行下载。安装过程相对简单,只需双击下载好的文件并按照提示进行安装即可。安装完成后,用户还需要配置环境变量,以便在命令行中直接使用conda命令。
总的来说,Anaconda是一个集成了Python、常用科学计算库和包管理工具的发行版本,它为用户提供了一个便捷、高效的工作环境,使得数据科学、机器学习和深度学习等领域的工作变得更加容易。
4、Anaconda的主要命令
Anaconda的主要命令主要围绕环境管理和包管理展开。以下是一些常用的Anaconda命令:
环境管理命令:
-
创建虚拟环境:
conda create -n ENV-NAME python=**
:其中ENV-NAME是虚拟环境的名字,**指定python版本。例如,conda create -n myenv python==3.9.0
将创建一个名为myenv的虚拟环境,并安装Python 3.9.0版本。conda create --name env_name
:创建一个名为env_name的虚拟环境。conda create --name env_name python=3.6
:创建一个指定Python版本的虚拟环境。conda create --name env_name python=3.6 pandas numpy scipy
:创建一个包含特定Python版本和某些包的虚拟环境。
-
激活虚拟环境:
conda activate ENV-NAME
:激活名为ENV-NAME的虚拟环境。activate env_name
:激活名为env_name的虚拟环境。
-
退出当前环境:
conda deactivate
:退出当前激活的虚拟环境。
-
复制虚拟环境:
conda create --name new_env_name --clone old_env_name
:复制一个名为old_env_name的虚拟环境,并命名为new_env_name。
包管理命令:
-
在当前环境中安装包:
conda install <package_name>
:在当前激活的虚拟环境中安装指定的包。pip install <package_name>
:同样可以在当前环境中使用pip命令安装包。
-
在当前环境中安装依赖文件:
conda install --file requirements.txt
:根据requirements.txt文件中的依赖列表在当前环境中安装包。
-
获取已安装的包:
conda list
:列出当前环境中已安装的包。
-
卸载包:
conda remove <package_name>
:在当前环境中卸载指定的包。
此外,还有一些其他常用命令,如:
conda info --envs
:显示已创建的所有虚拟环境。sourceactivate <env_name>
:在某些操作系统上用于切换环境。
这些命令为Anaconda用户提供了强大的环境管理和包管理功能,使得用户可以轻松创建、激活、退出和复制虚拟环境,以及安装、卸载和查看已安装的包。
5、安装PyTorch
在Anaconda中安装PyTorch的步骤如下:
- 首先,确保已经成功安装了Anaconda并创建了一个合适的虚拟环境。你可以使用
conda create -n myenv python=3.x
命令创建一个新的虚拟环境,其中myenv
是环境的名称,3.x
是你想要安装的Python版本。 - 激活你创建的虚拟环境。在Windows上,使用
conda activate myenv
命令;在Mac或Linux上,使用source activate myenv
命令。 - 打开PyTorch官网(https://pytorch.org/),选择适合你的操作系统和CUDA版本的安装命令。请注意,如果你的电脑有NVIDIA的GPU并且安装了CUDA,那么选择支持CUDA的版本可以加速PyTorch的计算。
- 将从PyTorch官网复制的安装命令粘贴到你的命令行中,并按回车执行。这将使用conda或pip来安装PyTorch及其依赖项。
- 安装完成后,你可以通过运行一段简单的PyTorch代码来测试安装是否成功。例如,你可以尝试导入PyTorch库并创建一个张量。
需要注意的是,PyTorch的安装可能会受到你的操作系统、Python版本、CUDA版本等多种因素的影响。因此,在安装过程中如果遇到问题,建议查阅PyTorch的官方文档或寻求社区的帮助。
此外,由于PyTorch和Anaconda都在不断更新,具体的安装步骤和命令可能会有所变化。因此,在进行安装时,最好参考最新的官方文档或教程。
6、Python的IDE(集成开发环境)
Python的IDE(集成开发环境)有很多选择,这些IDE提供了代码编辑、调试、自动化构建等功能,可以极大地提高Python开发者的效率。以下是一些常见的Python IDE及其安装方法:
- PyCharm:PyCharm是JetBrains公司开发的一款Python IDE,它提供了智能代码补全、代码质量分析、调试和测试等功能。PyCharm的安装比较简单,只需从官网下载对应版本的安装包,然后按照安装向导进行安装即可。
- Visual Studio Code:Visual Studio Code(简称VS Code)是一款轻量级的但功能强大的代码编辑器,支持Python开发。VS Code本身并不包含Python解释器,但可以通过安装Python扩展来支持Python开发。VS Code的安装也非常简单,可以从其官网下载并安装。
- Spyder:Spyder是一款基于Python的科学计算IDE,它集成了NumPy、SciPy和Matplotlib等库,非常适合数据分析和科学计算。Spyder的安装可以通过Anaconda进行,因为Anaconda发行版中包含了Spyder。
- Sublime Text:Sublime Text是一个高度可定制的文本编辑器,也支持Python开发。虽然它本身不是专门的IDE,但可以通过安装插件来增强Python开发的功能。Sublime Text的安装可以从其官网下载并安装。
安装这些IDE时,需要注意以下几点:
- 确保你的操作系统满足IDE的安装要求。
- 在安装过程中,可能需要选择是否包含某些组件或插件,根据你的需求进行选择。
- 安装完成后,可能需要进行一些配置,例如设置Python解释器的路径、配置代码风格等。
此外,如果你使用的是Anaconda,那么它自带的Spyder IDE就已经是一个很好的Python开发环境了。你可以在Anaconda Navigator中启动Spyder,开始你的Python编程之旅。
总的来说,选择哪个IDE取决于你的个人喜好和需求。不同的IDE有不同的特点和优势,你可以尝试使用几个,然后选择最适合你的那个。
7、安装 Jupyter Notebook
我觉得 Jupyter Notebook 是一个很好用的工具,用它开发 Python 算法非常方便,建议安装。
Jupyter Notebook是一个可以在Windows下安装的Python软件。它是一个开源的Web应用程序,允许你创建和共享包含实时代码、方程、可视化和解释性文本的文档。它非常适合数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等。
要在Windows下安装Jupyter Notebook,你需要先安装Python和pip(Python的包管理器)。然后,你可以通过pip在命令行中安装Jupyter Notebook。以下是基本的安装步骤:
- 访问Python官网(https://www.python.org/)下载并安装适合你操作系统的Python版本。在安装过程中,确保勾选“Add Python to PATH”选项,以便在命令行中直接使用Python和pip。
- 打开命令行工具(如CMD或PowerShell),输入以下命令来安装Jupyter Notebook:
pip install jupyter
- 安装完成后,你可以通过输入以下命令来启动Jupyter Notebook:
jupyter notebook
这将在你的默认浏览器中打开一个新的Jupyter Notebook界面。
请注意,如果你使用的是Anaconda发行版,Jupyter Notebook已经预装在其中。你可以直接在Anaconda Navigator中启动它,或者通过Anaconda Prompt使用jupyter notebook
命令来启动。
此外,安装过程中可能会遇到一些问题,比如权限问题、依赖问题等。如果遇到这些问题,你可以尝试以管理员身份运行命令行工具,或者查看相关的错误提示和解决方案。同时,确保你的Python和pip都是最新版本,以获得最佳的兼容性和功能。
8、Jupyter Notebook 的进一步介绍
Jupyter Notebook是一个交互式的笔记本式编程环境,它支持四十余种编程语言,包括在数据科学领域非常流行的Python、R、Julia、Scala等。这款开源的Web应用可以在Web浏览器中运行,用户可以在其中编写代码、公式、解释性文本、绘图、运行代码,并查看代码输出结果。更为强大的是,用户还可以将代码、文本、图像、音频、视频等内容整合到一起,形成一个交互式的笔记本,并通过GitHub、E-mail等方式进行分享。
Jupyter Notebook的主要特点体现在以下几个方面:
- 交互性强:用户可以实时编写、运行代码,并立即查看代码输出结果,这使得代码调试和交互式数据分析变得极为快速和方便。
- 可共享性:用户无需担心其他人是否有正确的软件配置或环境,就可以将其笔记本文档与其他人共享。笔记本文档可以通过多种方式共享,例如通过GitHub、Dropbox或Jupyter Notebook网站。此外,用户还可以将笔记本文档导出为多种格式,如HTML、PDF或LaTeX,以便与其他人共享。
- 可重复性:这意味着用户可以在不同的计算机或操作系统上重复自己的工作,而无需担心软件配置或环境的不兼容性。
在Windows下安装Jupyter Notebook需要先安装Python和pip。安装完成后,通过pip命令即可轻松安装Jupyter Notebook。安装完毕后,在命令行中输入jupyter notebook
命令即可启动Jupyter Notebook服务,随后在浏览器中会显示Jupyter Notebook的界面。
然而,在使用Jupyter Notebook的过程中,有时可能会遇到版本不兼容的问题。例如,在某些情况下,安装的Python版本过高,导致与Jupyter Notebook或其他相关库不兼容。解决这类问题通常需要重装合适版本的Python或相关库。
总的来说,Jupyter Notebook为数据科学家、数据分析师、机器学习工程师等提供了一个强大且灵活的工具,帮助他们更有效地进行代码开发、数据分析和可视化工作。