ps,mp,html

# PS
###ps:
Ctrl + :缩大

Ctrl -:缩小

###通用:
Ctrl c:复制

Ctrl v:粘贴

Ctrl x:剪切

Ctrl z:恢复

# W3C
W3C:万维网联盟,是目前web技术领域最具权威和影响力的技术标准机构(制定标准)
   
    目前为止,W3C已发布了200多项影响深远的web技术标准及实施指南
# HTML
HTML全称:HyperText Markup Language

    超文本标记语言,该语言书写的代码通常会被浏览器解析执行渲染成网页

HyperText超文本:不只包括文本也可以包括图片,链接,音乐,视频等非文本元素

Markup Language标记语言:是一套标记标签,HTML使用标记标签来描述网页
    
    一个页面就是一篇文档,而一篇文档最核心的就是内容,不同含义的内容组成了文档的结构
# CSS
CSS全程:Cascading Style Sheets(层叠样式表)

    用于定义HTML文档的样式(外观);该语言书写的代码通常会被浏览器解析执行;HTML文档在页面

    中的样式由CSS决定
# HTML术语
HTML注释的书写格式:<!--注释内容-->(用于描述代码功能,浏览器解析HTML代码时会忽略注释内容)

HTML元素(标记,记标,标签)是HTML文档的重要组成部分,一个HTML文档由大量元素组成

    HTML中的所有内容结构都是靠元素组织到页面的

元素组成部分:

开始标签(起始标记)表示元素的开始

     <~>标记名  

元素内容

结束标签(结束标记)表示元素的结束

     </~>标记名
     不同的标记名赋予元素不同的含义

h3标记表示三级标题(标记名范围:h1~h6)

`
<a href(属性名)="/classroom/17"(属性值)>立即加入</a>
`

 href="/classroom/17":属性(所有元素都有属性,加在开始标签里,属性表示元素的额外信息)

     标记名,属性,元素内容共同决定了一个元素的显示内容和行为
     a标记:表示这是一个超链接
     元素内容:表示在页面上显示立即加入
     href属性:表示用户点击它后会跳转到属性值

空元素:没有元素内容和结束标记,也称之为自闭合元素

空元素的书写方式:

     <标记名  属性>
     <标记名  属性/>

#元素的层次结构

一个元素的内容中可以包含其他元素形成嵌套的层次结构,但两个元素之间不能相互嵌套(标签当中又套入了标签:嵌套)

     若A元素直接包含B,A为B的父元素,B为A的子元素
     若两个元素有同一个父元素它们互为兄弟元素
     若A直接或间接包含B,A是B的祖先元素,B是A的后代元素

文档声明既不是元素也不是注释,它总是出现在HTML代码的第一行

书写代码为:

`
<!DOCTYPE html>文档类型定义(使用HTML5版本)
`

     用于通知浏览器目前的文档正使用哪一个HTML版本,若不写文档声明浏览器渲染页面时会进入怪异模式

html元素又叫做根标记,根元素,它是所有其他元素的祖先元素,文档中所有其他元素都必须放置在它的元素内容中

     相关属性:lang
     该属性指定文档中的文字是用何种自然语言书写的
     该属性可能会影响浏览器的语音阅读和翻译行为

`
<html lang="en"></html>en英文简写
`

`
<html lang="zh-cmn-Hans"></html>zh-cmn-Hans简体中文书写
`

head元素又叫做文档头,它是html元素的第一个子元素

文档头中可以包含一些其他元素,用于描述页面的附加信息

     注意!head元素中的内容不会显示到页面上

head包含元素:
<title>标识文档标题,该标题会显示在浏览器的标题栏或者标签页上

<meta>标识页面的其他元数据(页面相关的附加信息)这是一个空元素

     示例:<meta charset ="UTF-8">指示浏览器使用字符编码集UTF-8解析页面
     为获得更好的地域兼容性避免乱码应将字符编码集设置为UTF-8,并且将该代码作为head的第一个子元素

body元素又叫做文档体,网页中所有的可见内容都放置在该元素内

body元素中可以包含大量的其他元素,定义文档的内容结构

#绝对路径和相对路径

绝对路径:当网站部署到服务器后,网站中的所有资源都可以通过一个地址(路径)访问

     该地址(路径)的书写格式为:协议://域名/目录
     这种格式书写的路径叫做绝对路径

绝对路径的使用场景:
    
     访问站外资源时,只能使用绝对路径
     访问站内资源时,若网站已部署到服务器可以使用

相对路径:相对路径是相对于当前资源的位置,只能用于访问站内资源
相对路径的书写格式为:./路径
    
     ./表示当前资源所在的目录,必须作为相对路径的开始,可省略
     ../表示返回上一级目录

转载于:https://www.cnblogs.com/tydy9891-/p/8847410.html

<think>我们面对的问题是在Windows环境下配置PyTorchCUDA路径后,执行DCNv2的setup.py时出现“系统找不到指定的文件”的错误。根据引用内容,我们可以发现几个相关的错误信息: 1. 引用[3]中提到了在Windows编译DCNv2时出现的错误:`error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.1\\bin\\nvcc.exe' failed with exit status 1`。 2. 引用[4]中提到了一个警告:`UserWarning: It seems that the VC environment is activated but DISTUTILS_USE_SDK is not set. This may lead to multiple activations of the VC env. Please set DISTUTILS_USE_SDK=1 and try again.`。 结合这些信息,我们可以推断问题可能出现在以下几个方面: - CUDA路径设置不正确,导致nvcc编译器无法被正确调用。 - 环境变量问题,特别是与VC编译环境相关的设置。 - 可能缺少必要的头文件或库文件。 ### 解决步骤 #### 步骤1: 确认CUDA安装路径 首先,确保CUDA已正确安装,并且环境变量中已经设置了CUDA路径。通常,CUDA会安装在`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin`(其中X.Y是版本号),并且该路径应该被添加到系统的PATH环境变量中。 你可以在命令提示符中运行以下命令来检查nvcc是否可用: ```cmd nvcc --version ``` 如果返回了版本信息,则说明nvcc在全局路径中可用。如果没有,请检查CUDA安装路径是否在PATH中。 #### 步骤2: 设置DISTUTILS_USE_SDK环境变量 根据引用[4]的警告,我们需要设置环境变量`DISTUTILS_USE_SDK=1`,以避免VC环境被多次激活。在运行setup.py之前,在命令提示符中设置该环境变量: ```cmd set DISTUTILS_USE_SDK=1 ``` #### 步骤3: 确保VC环境正确 DCNv2的编译需要Visual Studio的C++编译工具。确保你已经安装了与你的PyTorch版本兼容的Visual Studio版本(例如,Visual Studio 2019)。并且,在运行setup.py之前,你可能需要激活VC环境。通常,我们可以通过运行Visual Studio提供的vcvarsall.bat脚本来设置环境。例如: ```cmd call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 ``` 注意:路径可能根据你的Visual Studio版本安装位置有所不同。 #### 步骤4: 检查PyTorchCUDA版本兼容性 确保你安装的PyTorch版本与CUDA版本兼容。例如,PyTorch 1.12通常需要CUDA 11.3或11.6。你可以通过以下命令检查PyTorch的CUDA版本: ```python import torch print(torch.version.cuda) ``` 如果PyTorch是用CPU版本安装的,那么可能没有CUDA支持,需要重新安装对应CUDA版本的PyTorch。 #### 步骤5: 运行setup.py 在完成上述环境设置后,尝试再次运行安装命令: ```cmd python setup.py build develop ``` #### 步骤6: 处理可能的头文件缺失 如果出现头文件缺失(如引用[1]中提到的`THC/THC.h`),请注意DCNv2的版本是否与你的PyTorch版本匹配。在PyTorch 1.5之后,THC/THC.h已经被移除。因此,你需要使用适配高版本PyTorch的DCNv2实现。引用[1]中提到的[DCNv2_latest](https://github.com/jinfagang/DCNv2_latest)可能是一个解决方案。 ### 总结 解决“系统找不到指定的文件”错误的步骤包括: 1. 确认CUDA安装路径设置正确。 2. 设置环境变量`DISTUTILS_USE_SDK=1`。 3. 确保VC编译环境正确激活。 4. 检查PyTorchCUDA版本兼容性。 5. 使用适配高版本PyTorch的DCNv2实现(如DCNv2_latest)。 如果按照以上步骤操作后仍然出现问题,请检查具体的错误输出,并可能需要调整DCNv2的源代码以适配你的环境。 §§相关问题§§ 1. 如何检查Windows系统中CUDA是否正确安装? 2. 如何设置Visual Studio的环境变量以支持PyTorch扩展的编译? 3. PyTorch扩展编译中常见的错误有哪些? 4. 如何解决DCNv2在Windows编译中的头文件缺失问题? 5. 如何更新环境变量并使其立即生效?</think>### 解决DCNv2在Windows编译中的"系统找不到指定文件"错误 在Windows环境下配置PyTorchCUDA后执行DCNv2的`setup.py`时出现文件找不到错误,通常是由于环境变量配置或路径问题导致。以下是系统化的解决方案: #### 1. **验证CUDA工具链安装** - 检查CUDA路径是否正确安装: ```cmd :: 在CMD中执行 where nvcc where cl.exe ``` 若未返回有效路径(如`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin\nvcc.exe`),说明环境变量未正确配置[^3]。 #### 2. **修复环境变量配置** - **添加CUDA到PATH**: 在系统环境变量中添加: ``` CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y PATH += %CUDA_PATH%\bin;%CUDA_PATH%\libnvvp ``` - **设置编译关键变量**(解决引用[4]的警告): ```cmd set DISTUTILS_USE_SDK=1 set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y ``` #### 3. **检查Visual Studio集成** - 确保安装**VS Build Tools 2019**并包含"C++桌面开发"组件 - 激活VC环境: ```cmd :: 根据实际路径调整 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64 ``` #### 4. **修改setup.py解决路径问题** 在DCNv2的`setup.py`中硬编码路径(临时方案): ```python # 在Extension参数中添加以下路径 include_dirs = [r'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\include'] library_dirs = [r'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\lib\x64'] ``` #### 5. **重新安装PyTorch匹配CUDA版本** ```cmd pip uninstall torch torchvision pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 -f https://download.pytorch.org/whl/torch_stable.html ``` #### 6. **最终编译命令** ```cmd set DISTUTILS_USE_SDK=1 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 python setup.py build develop ``` > **重要提示**:若仍报错`THC/THC.h not found`(引用[1]),说明使用的DCNv2版本与PyTorch 1.5+不兼容,需改用适配新版PyTorch的分支如[DCNv2_latest](https://github.com/jinfagang/DCNv2_latest)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值