CUDA_cudaFree_释放Stream_cudaError_t 错误类型码解释

官方网站 :

CUDA Runtime API :: CUDA Toolkit Documentation

cudaFree() 说明

cudaFree() 是 CUDA 中用于释放由 cudaMalloc()cudaMallocManaged() 分配的设备内存的函数。它的参数是一个指向设备内存的指针,用于指示要释放的内存块的起始地址。

用法说明如下:

cudaError_t cudaFree(void *devPtr);

参数 devPtr 是一个指向要释放的设备内存块的指针。这个指针必须是由 cudaMalloc()cudaMallocManaged() 或类似函数返回的指针,指向通过 CUDA 运行时 API 分配的内存。如果 devPtrnullptr,则 cudaFree() 会忽略并返回 cudaSuccess

通常情况下,cudaFree() 应该在不再需要设备内存时被调用,以释放之前通过 CUDA 运行时 API 分配的内存,以便重用或释放给系统。

请注意,调用 cudaFree() 并不会自动将指针 devPtr 设置为 nullptr。因此,在调用 cudaFree() 后,为了避免悬空指针问题,建议将指针显式设置为 nullptr,或者进行适当的指针管理。

另外,cudaFree() 返回一个 cudaError_t 类型的错误码,用于指示函数是否执行成功。

cudaError_t 类型的错误码

一些常见的 cudaError_t 值及其含义:

  1. cudaSuccess:函数调用成功完成。

  2. cudaErrorMemoryAllocation:内存分配失败。

  3. cudaErrorIllegalInstruction:设备执行了非法的指令。

  4. cudaErrorMisalignedAddress:指针未对齐。

  5. cudaErrorInvalidValue:传递给函数的某些参数无效。

  6. cudaErrorLaunchFailure:在设备上执行内核函数时发生错误。

  7. cudaErrorNoDevice:没有可用的 CUDA 设备。

  8. cudaErrorNotInitialized:CUDA 运行时尚未初始化。

  9. cudaErrorInvalidDevice:提供的 CUDA 设备标识符无效。

  10. cudaErrorInvalidConfiguration:内核启动配置无效。

  11. cudaErrorInvalidPitchValue:传递给 cudaMallocPitch() 的 pitch 值无效。

  12. cudaErrorInvalidMemcpyDirectioncudaMemcpy() 方向参数无效。

  13. cudaErrorInvalidSymbol:传递给内核函数的符号无效。

  14. cudaErrorMapBufferObjectFailed:映射缓冲对象到设备地址空间失败。

  15. cudaErrorCudartUnloading:CUDA 运行时库正在卸载。

  16. cudaErrorProfilerDisabled:CUDA 分析器不可用。

cudaErrorCudartUnloading:CUDA 运行时库正在卸载 什么意思?什么情况下会发生? 

cudaErrorCudartUnloading 表示 CUDA 运行时库正在卸载。这个错误码表明当前正在尝试使用 CUDA 运行时 API 的某个函数,但是 CUDA 运行时库正在被卸载的过程中,因此无法正常执行该函数。

这种情况可能发生在以下情况下:

  1. 应用程序结束时:当应用程序退出时,操作系统会清理所有分配的资源,包括 CUDA 运行时库。在清理过程中,如果有 CUDA 函数被调用,就会出现 cudaErrorCudartUnloading 错误。

  2. 显式卸载 CUDA 运行时库:在某些情况下,程序员可能会显式地卸载 CUDA 运行时库。这可能是因为程序的特定需求,或者是为了进行调试或测试。在这种情况下,任何尝试使用 CUDA 运行时 API 的函数都可能导致 cudaErrorCudartUnloading 错误。

当出现 cudaErrorCudartUnloading 错误时,建议检查程序的生命周期和资源管理,确保在尝试使用 CUDA 运行时 API 函数之前,CUDA 运行时库仍然是可用的。此外,确保在应用程序退出之前正确地清理并释放所有的 CUDA 资源。

CUDA 运行时库 是什么?包含哪些东西?

CUDA(Compute Unified Device Architecture)运行时库是 NVIDIA 提供的用于支持 GPU 计算的软件库。它包含了一系列函数和工具,用于在 CUDA 设备(如 NVIDIA GPU)上执行并行计算任务。CUDA 运行时库提供了一种在 CPU 和 GPU 之间交互的框架,使得开发人员能够利用 GPU 的并行计算能力来加速应用程序的运行。

CUDA 运行时库包含了以下主要组件和功能:

  1. CUDA Runtime API:CUDA Runtime API 是一组用于在应用程序中调用的函数,用于管理设备、内存、执行内核函数等。开发人员可以使用 CUDA Runtime API 来编写使用 GPU 加速的并行计算任务。

  2. GPU 设备管理:CUDA 运行时库提供了一系列函数,用于在应用程序中管理 GPU 设备。这些函数包括了设备查询、设备属性获取、设备选择等,使得开发人员能够有效地利用系统中的 GPU 资源。

  3. 内存管理:CUDA 运行时库提供了一套内存管理函数,用于在主机(CPU)和设备(GPU)之间进行数据传输,并在 GPU 上分配和释放内存。这些函数包括了内存分配、内存复制、内存释放等。

  4. 执行模型:CUDA 运行时库定义了一种执行模型,用于描述如何在 GPU 上执行并行计算任务。这个模型包括了线程、线程块、网格等概念,并提供了相应的函数和指令,用于在 GPU 上启动和执行内核函数。

  5. 工具和实用程序:CUDA 运行时库还包含了一些用于开发和调试的实用工具和实用程序,如性能分析工具、调试器等。

总的来说,CUDA 运行时库是一套完整的软件库,用于支持在 NVIDIA GPU 上进行并行计算的开发和执行。它为开发人员提供了丰富的函数和工具,使得利用 GPU 加速的并行计算变得更加容易和高效。

调用什么函数 卸载 CUDA 运行时库?

在常规的应用程序中,通常不需要显式地卸载 CUDA 运行时库。CUDA 运行时库的加载和卸载由操作系统和应用程序的生命周期管理自动处理。当应用程序结束时,操作系统会负责释放应用程序使用的所有资源,包括 CUDA 运行时库。

然而,如果你确实需要在应用程序中显式地卸载 CUDA 运行时库,这通常意味着你需要在程序中调用操作系统相关的函数来结束进程或卸载动态链接库(CUDA 运行时库)。

在类 Unix/Linux 系统中,可以使用 dlclose() 函数来卸载动态链接库。但是,请注意,卸载 CUDA 运行时库可能会导致程序崩溃或不可预测的行为,因为程序可能依赖于 CUDA 运行时库提供的函数和资源。

在 Windows 系统中,可以使用 FreeLibrary() 函数来卸载动态链接库。同样地,这可能会导致程序崩溃或不可预测的行为。

总的来说,除非你有特定的需求,否则不建议在应用程序中显式地卸载 CUDA 运行时库。正常情况下,操作系统会在程序退出时自动清理资源,包括 CUDA 运行时库。

cudaError_t 类型的错误码 官方内容翻译

CUDA Runtime API :: CUDA Toolkit Documentation

枚举 
cudaError
CUDA 错误类型


cudaSuccess = 0
API 调用返回时没有错误。对于查询调用,在操作完成时也表示操作已完成(参见 cudaEventQuery() 和 cudaStreamQuery())。

cudaErrorInvalidValue = 1
这表示传递给 API 调用的一个或多个参数不在可接受的值范围内。

cudaErrorMemoryAllocation = 2
API 调用失败,因为它无法分配足够的内存或其他资源来执行请求的操作。

cudaErrorInitializationError = 3
API 调用失败,因为 CUDA 驱动程序和运行时无法初始化。

cudaErrorCudartUnloading = 4
这表示 CUDA 运行时 API 调用无法执行,因为它是在进程关闭期间调用的,在 CUDA 驱动程序卸载之后的某个时刻。

cudaErrorProfilerDisabled = 5
这表示分析器未为此运行初始化。这可能发生在应用程序使用外部分析工具(如可视化分析器)运行时。

cudaErrorProfilerNotInitialized = 6
已弃用
此错误返回已在 CUDA 5.0 中弃用。尝试在未初始化的情况下通过 cudaProfilerStart 或 cudaProfilerStop 启用/禁用分析器不再是错误。


cudaErrorProfilerAlreadyStarted = 7
已弃用
此错误返回已在 CUDA 5.0 中弃用。当已经启用分析器时调用 cudaProfilerStart() 不再是错误。


cudaErrorProfilerAlreadyStopped = 8
已弃用
此错误返回已在 CUDA 5.0 中弃用。当已经禁用分析器时调用 cudaProfilerStop() 不再是错误。


cudaErrorInvalidConfiguration = 9
这表示一个内核启动正在请求当前设备无法满足的资源。请求每个块的共享内存超过设备支持的将触发此错误,请求太多的线程或块也将触发此错误。请参阅 cudaDeviceProp 了解更多设备限制。

cudaErrorInvalidPitchValue = 12
这表示传递给 API 调用的一个或多个与间距相关的参数不在间距的可接受范围内。

cudaErrorInvalidSymbol = 13
这表示传递给 API 调用的符号名称/标识符不是有效的名称或标识符。

cudaErrorInvalidHostPointer = 16
已弃用
此错误返回已在 CUDA 10.1 中弃用。

这表示传递给 API 调用的至少一个主机指针不是有效的主机指针。


cudaErrorInvalidDevicePointer = 17
已弃用
此错误返回已在 CUDA 10.1 中弃用。

这表示传递给 API 调用的至少一个设备指针不是有效的设备指针。


cudaErrorInvalidTexture = 18
这表示传递给 API 调用的纹理不是有效的纹理。

cudaErrorInvalidTextureBinding = 19
这表示纹理绑定无效。如果您调用 cudaGetTextureAlignmentOffset() 时使用未绑定的纹理,就会发生这种情况。

cudaErrorInvalidChannelDescriptor = 20
这表示传递给 API 调用的通道描述符无效。如果格式不是 cudaChannelFormatKind 指定的格式之一,或者其中一个维度无效,则会发生这种情况。

cudaErrorInvalidMemcpyDirection = 21
这表示传递给 API 调用的 memcpy 方向不是 cudaMemcpyKind 指定的类型之一。

cudaErrorAddressOfConstant = 22
已弃用
此错误返回已在 CUDA 3.1 中弃用。常量内存中的变量现在可以通过运行时通过 cudaGetSymbolAddress() 获取其地址。

这表示用户已获取常量变量的地址,直到 CUDA 3.1 发布之前是被禁止的。


cudaErrorTextureFetchFailed = 23
已弃用
此错误返回已在 CUDA 3.1 中弃用。设备仿真模式已在 CUDA 3.1 中删除。

这表示无法执行纹理获取。以前用于设备仿真纹理操作。


cudaErrorTextureNotBound = 24
已弃用
此错误返回已在 CUDA 3.1 中弃用。设备仿真模式已在 CUDA 3.1 中删除。

这表示尝试访问未绑定的纹理。以前用于设备仿真纹理操作。


cudaErrorSynchronizationError = 25
已弃用
此错误返回已在 CUDA 3.1 中弃用。设备仿真模式已在 CUDA 3.1 中删除。

这表示同步操作失败。以前用于某些

设备仿真函数。


cudaErrorInvalidFilterSetting = 26
这表示正在使用线性滤波访问非浮点纹理。CUDA 不支持这种操作。

cudaErrorInvalidNormSetting = 27
这表示尝试将非浮点纹理读取为归一化浮点值。CUDA 不支持这种操作。

cudaErrorMixedDeviceExecution = 28
已弃用
此错误返回已在 CUDA 3.1 中弃用。设备仿真模式已在 CUDA 3.1 中删除。

不允许混合设备和设备仿真代码。


cudaErrorNotYetImplemented = 31
已弃用
此错误返回已在 CUDA 4.1 中弃用。

这表示 API 调用尚未实现。CUDA 的正式发布永远不会返回此错误。


cudaErrorMemoryValueTooLarge = 32
已弃用
此错误返回已在 CUDA 3.1 中弃用。设备仿真模式已在 CUDA 3.1 中删除。

这表示模拟设备指针超出了 32 位地址范围。


cudaErrorStubLibrary = 34
这表示应用程序加载的 CUDA 驱动程序是存根库。在使用存根而不是真实驱动程序加载的应用程序中,CUDA API 将返回此错误。

cudaErrorInsufficientDriver = 35
这表示安装的 NVIDIA CUDA 驱动程序早于 CUDA 运行时库。这不是受支持的配置。用户应安装更新的 NVIDIA 显示驱动程序以使应用程序能够运行。

cudaErrorCallRequiresNewerDriver = 36
这表示 API 调用需要比当前安装的 CUDA 驱动程序更新的 CUDA 驱动程序。用户应安装更新的 NVIDIA CUDA 驱动程序以使 API 调用成功。

cudaErrorInvalidSurface = 37
这表示传递给 API 调用的表面不是有效的表面。

cudaErrorDuplicateVariableName = 43
这表示多个全局或常量变量(在应用程序的不同 CUDA 源文件中)共享相同的字符串名称。

cudaErrorDuplicateTextureName = 44
这表示多个纹理(在应用程序的不同 CUDA 源文件中)共享相同的字符串名称。

cudaErrorDuplicateSurfaceName = 45
这表示多个表面(在应用程序的不同 CUDA 源文件中)共享相同的字符串名称。

cudaErrorDevicesUnavailable = 46
这表示所有 CUDA 设备当前都忙碌或不可用。设备通常因使用 cudaComputeModeProhibited、cudaComputeModeExclusiveProcess 或长时间运行的 CUDA 内核已填满 GPU 并阻止新工作开始而忙碌/不可用。它们也可能因已在执行活动 CUDA 工作的设备上的内存约束而不可用。

cudaErrorIncompatibleDriverContext = 49
这表示当前上下文与 CUDA 运行时不兼容。只有在使用 CUDA 运行时/驱动程序互操作性并使用驱动程序 API 创建了现有驱动程序上下文时,才会出现此错误。驱动程序上下文可能不兼容,因为驱动程序上下文是使用较旧版本的 API 创建的,因为运行时 API 调用期望主驱动程序上下文并且驱动程序上下文不是主要的,或者因为驱动程序上下文已被销毁。有关更多信息,请参阅与 CUDA 驱动程序 API 的交互"。

cudaErrorMissingConfiguration = 52
正在调用的设备函数(通常通过 cudaLaunchKernel())之前未通过 cudaConfigureCall() 函数进行配置。

cudaErrorPriorLaunchFailure = 53
已弃用
此错误返回已在 CUDA 3.1 中弃用。设备仿真模式已在 CUDA 3.1 中删除。

这表示先前的内核启动失败。以前用于设备仿真内核启动。


cudaErrorLaunchMaxDepthExceeded = 65
此错误表示设备运行时网格启动未发生,因

为子网格的深度将超过支持的最大嵌套网格启动数。

cudaErrorLaunchFileScopedTex = 66
此错误表示未发生网格启动,因为内核使用不受设备运行时支持的文件范围纹理。通过设备运行时启动的内核仅支持使用 Texture Object API 创建的纹理。

cudaErrorLaunchFileScopedSurf = 67
此错误表示未发生网格启动,因为内核使用不受设备运行时支持的文件范围表面。通过设备运行时启动的内核仅支持使用 Surface Object API 创建的表面。

cudaErrorSyncDepthExceeded = 68
此错误表示从设备运行时发起的 cudaDeviceSynchronize 调用失败,因为调用是在比默认值(2 级网格)或用户指定的设备限制 cudaLimitDevRuntimeSyncDepth 更大的网格深度下进行的。为了能够成功地在启动使用设备运行时的内核之前,在使用设备运行时启动内核的主机端启动 cudaDeviceSynchronize 的最大嵌套深度必须在 cudaDeviceSetLimit api 中通过 cudaLimitDevRuntimeSyncDepth 限制指定。请注意,额外的同步深度级别需要运行时保留大量的设备内存,该内存不能用于用户分配。请注意,设备运行时从设备运行时进行的 cudaDeviceSynchronize 仅受支持小于 9.0 的计算能力设备。

cudaErrorLaunchPendingCountExceeded = 69
此错误表示设备运行时网格启动失败,因为启动将超出限制 cudaLimitDevRuntimePendingLaunchCount。要使此启动成功进行,必须调用 cudaDeviceSetLimit 设置 cudaLimitDevRuntimePendingLaunchCount 以使其高于可以发出到设备运行时的未完成启动的上限。请注意,提高待处理设备运行时启动的限制将要求运行时保留设备内存,该内存不能用于用户分配。

cudaErrorInvalidDeviceFunction = 98
请求的设备函数不存在或未针对正确的设备体系结构编译。

cudaErrorNoDevice = 100
这表示未检测到任何支持 CUDA 的设备。

cudaErrorInvalidDevice = 101
这表示用户提供的设备序数与有效的 CUDA 设备不对应,或请求的操作对指定的设备无效。

cudaErrorDeviceNotLicensed = 102
这表示设备没有有效的网格许可证。

cudaErrorSoftwareValidityNotEstablished = 103
默认情况下,CUDA 运行时可以执行一组最小的自我测试,以及 CUDA 驱动程序测试,以建立两者的有效性。在 CUDA 11.2 中引入,此错误返回指示其中一个测试失败,无法建立运行时或驱动程序的有效性。

cudaErrorStartupFailure = 127
这表示 CUDA 运行时中的内部启动失败。

cudaErrorInvalidKernelImage = 200
这表示设备内核图像无效。

cudaErrorDeviceUninitialized = 201
这通常表示当前线程没有绑定上下文。如果传递给 API 调用的上下文无效(例如,对其调用了 cuCtxDestroy() 的上下文),则还可以返回此错误。如果用户混合使用不同的 API 版本(例如,3010 上下文与 3020 API 调用),也可能返回此错误。有关更多详细信息,请参阅 cuCtxGetApiVersion()。

cudaErrorMapBufferObjectFailed = 205
这表示无法映射缓冲区对象。

cudaErrorUnmapBufferObjectFailed = 206
这表示无法取消映射缓冲区对象。

cudaErrorArrayIsMapped = 207
这表示指定的数组当前已映射,因此无法销毁。

cudaErrorAlreadyMapped = 208
这表示资源已经映射。

cudaErrorNoKernelImageForDevice = 209
这表示没有可用于设备的内核图像。当用户为特定 CUDA 源文件指定代码生成选项时,这可能会发生,这些选项不包括相应的设备配置。

cudaErrorAlreadyAcquired = 210
这表示资源已经被获取。

cudaErrorNotMapped = 211
这表示资源未映射。

cudaErrorNotMappedAsArray = 212
这表示映射的资源不可用于作为数组访问。

cudaErrorNotMappedAsPointer = 213
这表示映射的资源不可用于作为指针访问。

cudaErrorECCUncorrectable = 214
这表示在执行过程中检测到无法纠正的 ECC 错误。

cudaErrorUnsupportedLimit = 215
这表示传递给 API 调用的 cudaLimit 不受当前设备支持。

cudaErrorDeviceAlreadyInUse = 216
这表示尝试访问已被其他线程使用的独占线程设备。

cudaErrorPeerAccessUnsupported = 217
此错误表示不支持给定设备之间的 P2P 访问。

cudaErrorInvalidPtx = 218
PTX 编译失败。如果应用程序不包含当前设备的合适二进制文件,则运行时可能会回退到编译 PTX。

cudaErrorInvalidGraphicsContext = 219
这表示 OpenGL 或 DirectX 上下文存在错误。

cudaErrorNvlinkUncorrectable = 220
这表示在执行过程中检测到无法纠正的 NVLink 错误。

cudaErrorJitCompilerNotFound = 221
这表示找不到 PTX JIT 编译器库。JIT 编译器库用于 PTX 编译。如果应用程序不包含当前设备的合适二进制文件,则运行时可能会回退到编译 PTX。

cudaErrorUnsupportedPtxVersion = 222
这表示提供的 PTX 是使用不受支持的工具链编译的。这种情况最常见的原因是 PTX 是由比 CUDA 驱动程序和 PTX JIT 编译器支

持的工具链生成的。

cudaErrorInvalidSource = 300
此错误表示提供的参数无效。

cudaErrorFileNotFound = 301
此错误表示指定的文件无法找到。

cudaErrorSharedObjectSymbolNotFound = 302
此错误表示无法找到指定的共享对象符号。

cudaErrorSharedObjectInitFailed = 303
此错误表示无法初始化指定的共享对象。

cudaErrorOperatingSystem = 304
此错误表示操作系统提供的错误。

cudaErrorInvalidHandle = 400
此错误表示提供的句柄无效。

cudaErrorNotFound = 500
此错误表示请求的资源不存在。


cudaErrorNotReady = 600
此错误表示请求的资源未就绪,通常在对异步操作进行轮询时返回。

cudaErrorIllegalAddress = 700
此错误表示尝试访问没有授权访问的内存地址。通常是因为错误地访问了设备内存,比如空指针引用。

cudaErrorLaunchOutOfResources = 701
此错误表示尝试启动内核时设备上已经没有足够的资源了,比如太多的线程块或太多的线程。

cudaErrorLaunchTimeout = 702
此错误表示内核执行超时。这可能是由于内核执行时间太长或内核卡住了而引起的。

cudaErrorLaunchIncompatibleTexturing = 703
此错误表示内核启动失败,因为使用了不兼容的纹理。

cudaErrorPeerAccessAlreadyEnabled = 704
此错误表示对等访问已经启用。

cudaErrorPeerAccessNotEnabled = 705
此错误表示对等访问没有启用。

cudaErrorSetOnActiveProcess = 708
此错误表示无法在 CUDA 驱动程序中更改某些属性,因为当前进程有一个活动的 CUDA 上下文。

cudaErrorContextIsDestroyed = 709
此错误表示上下文已被销毁,通常在上下文销毁后访问 CUDA 对象时返回。

cudaErrorAssert = 710
此错误表示在设备执行期间发生了断言错误。

cudaErrorTooManyPeers = 711
此错误表示在设备上尝试创建太多的对等连接。

cudaErrorHostMemoryAlreadyRegistered = 712
此错误表示尝试重复注册已注册的主机内存地址。

cudaErrorHostMemoryNotRegistered = 713
此错误表示尝试注销未注册的主机内存地址。

cudaErrorHardwareStackError = 714
此错误表示硬件堆栈遇到错误。

cudaErrorIllegalInstruction = 715
此错误表示设备执行了非法指令。

cudaErrorMisalignedAddress = 716
此错误表示尝试访问未对齐的内存地址。

cudaErrorInvalidAddressSpace = 717
此错误表示尝试访问无效地址空间。

cudaErrorInvalidPc = 718
此错误表示尝试读取或写入无效的程序计数器(PC)值。

cudaErrorIllegalAddressSpace = 719
此错误表示尝试在不允许的地址空间中执行操作。

cudaErrorInvalidPtxPointer = 720
此错误表示提供的 PTX 指针无效。

cudaErrorInvalidGraphicsContext = 721
此错误表示上下文与绑定它的图形 API 上下文不兼容。

cudaErrorStartupFailure = 0x7f
此错误表示 CUDA 运行时中的内部启动失败。

cudaErrorApiFailureBase = 10000
这是一个基本错误代码,表示错误在 API 调用中。

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

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

相关文章

在React项目中试用Tailwind

TailwindCSS TailwindCSS 是一个套 CSS 的工具类,把常用的功能都进行了定义,下面是一个官网的例子,可以看到Tailwind对一元页面素写了很多类,日常开发中只要定义一两个类就可以搞定类似的功能了。这里写了这么多 p-6 max-w-sm mx…

java导出数据到excel表中

java导出数据到excel表中 环境说明项目结构1.controller层2.service层3.实现层4.工具类:ExcelUtil.java5.ProductModel.java类 使用的Maven依赖postman请求展示,返回内容需要前端接收浏览器接收说明(如果下载下来的为zip类型,记得…

win docker clickhouse 挂载本地目录到容器后无法写入数据问题解决

win docker 部署clickhouse 挂载本地目录到容器后无法写入数据问题具体错误提示代码尝试在docker compose 文件中添加文件操作的许可进一步在docker compose 中配置 ulimits参数如下修改映射的本地目录到d盘最后使用docker的数据卷来映射到容器内部目录,解决了不能…

MySQL查询优化(学习)

1.在MySQL中,如何定位慢查询? MySQL自带慢日志 2.一个SQL语句执行很慢, 如何分析? 可以采用EXPLAIN 或者 DESC命令获取 MySQL 如何执行 SELECT 语句的信息 3.字段分析 idselect_typetablepartitionstype这条sql的连接的类型,性能有好到…

【报错】ModuleNotFoundError: No module named ‘mmcv‘

【报错】💔💔💔 ModuleNotFoundError: No module named mmcv 【解决方法】💜💜💜 pip3 install mmcv -i https://pypi.tuna.tsinghua.edu.cn/simple 【测试】💚💚💚 p…

C语言读取数据检索存档《C语言程序设计》·第6章·用数组处理批量数据

C数组使用 添加链接描述 C语言读取数据检索存档 1 添加链接描述 2 添加链接描述 3 添加链接描述 4 添加链接描述 5 添加链接描述 6 添加链接描述 7 matlab转C 添加链接描述

【从浅学到熟知Linux】基础IO第三弹=>文件系统介绍、软链接与硬链接(含磁盘结构、文件系统存储原理、软硬链接的创建、原理及应用详解)

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 🎯每天努力一点点,技术变化看得见 文章目录 理解文件系统物理角度认识磁盘逻辑角度认识磁盘磁盘寻址磁盘中的寄存器 磁盘存储管理 软链接与硬链接软链接…

NVIDIA安装程序失败-Nsight Visual Studio Edition失败解决办法

博主是要升级cuda版本,那么在安装新版本之前需要卸载以前的版本。 博主一溜卸载下去,最后有这么个东西卸载不掉,Nsight Visual Studio Edition 不管是电脑系统卸载还是360卸载,都卸载不掉。 此时安装新的cuda也遇到了这个问题 由…

PF滤波?

粒子滤波 本文是对于原文的学习与部分的转载 https://blog.csdn.net/weixin_44044161/article/details/125445579 粒子滤波是在目标跟踪中常用的一种方法 非线性条件下,贝叶斯滤波面临一个重要的问题是状态分布的表达与积分式的求解 由前面章节中的分析可以得知…

拓展网络技能:利用lua-http库下载www.linkedin.com信息的方法

引言 在当今的数字时代,网络技能的重要性日益凸显。本文将介绍如何使用Lua语言和lua-http库来下载和提取LinkedIn网站的信息,这是一种扩展网络技能的有效方法。 背景介绍 在当今科技潮流中,Lua语言以其轻量级和高效的特性,不仅…

后端-MySQL-week11 事务

事务 简介 操作 有两种方式,一种是设置为手动提交——不执行“commit”不进行变更;另一种是手动开启一个事务,用开启事务的代码(SQL语句)来创建一个需要“commit”才能进行变更的事务 1.第一种方式 2.第二种方式 四…

线性代数基础3 行列式

行列式 行列式其实在机器学习中用的并不多,一个矩阵必须是方阵,才能计算它的行列式 行列式是把矩阵变成一个标量 import numpy as np A np.array([[1,3],[2,5]]) display(A) print(矩阵A的行列式是:\n,np.linalg.det(A))array([[1, 3],[2, …

Postman之全局变量与环境变量配置

实际开发中可能需要不停切换环境,接口中来回输入环境地址比较麻烦,故而通过定义变量来节约频繁更换测试地址所耗费的时间。Postman 允许定义自己的全局变量(Globals)与环境变量(Environment),最…

游程编码(Run-Length Encoding, RLE)的python实现

游程编码(Run-Length Encoding, RLE)的python实现 基本原理及步骤 游程编码(Run-Length Encoding, RLE),是一种简单的无损数据压缩方法,通过计数连续出现的字符来压缩数据。 主要思想是遍历输入源数据,计算连续相同字符的数量,…

Vue 指令、计算属性、侦听器

目录 指令 指令修饰符 按键修饰符 ​编辑 v-model修饰符 事件修饰符 v-bind对于样式操作的增强 操作class 对象 数组 操作style v-model应用于其他表单元素 computed计算属性 概念 基础语法 ​编辑 计算属性vs方法 computed计算属性 作用 语法 缓存特性 m…

对接浦发银行支付(五)-- 主动查询支付结果

一、背景 上一篇我们介绍了支付回调接口的对接情况,当回调出现网络等异常情况,导致用户的支付订单未及时处理或处理失败的时候,商户则需要自己主动向浦发银行发起查询支付结果。 主动查询支付结果,发挥补偿重试的重要作用&#x…

使用PHP开发体育赛事直播平台,有这些缺点和优点

"东莞梦幻网络科技"作为体育直播平台开发领域的领导者,选择使用PHP开发体育赛事直播平台的现成源码,为什么会选择该语言,背后的选择理由可以从该技术的优点和缺点中找到答案。 一、优点1、易学易用与快速开发:PHP语言语…

HTML的学习-通过创建相册WEB学习HTML-第一部分

文章目录 一、设置中文1.1、添加中文插件1.2、配置显示中文语言 二、学习开始2.1、创建项目文件夹2.2、h1标签示例:生成HTML框架示例:添加h1标签 2.3、h2标签示例:在h1标签下添加h2标签 2.4、h1标签到h6标签层次解析2.5、p标签示例&#xff1…

第2章:GO语言的基本语法

第一部分:GO语言基础 第2章:GO语言的基本语法 在安装和配置好GO语言开发环境之后,本章将带你了解GO语言的基本语法。掌握基本语法是学习任何编程语言的第一步,它将帮助你构建结构良好的代码,并理解GO语言的工作原理。…

怎么把网页上的文字变小?

以下是针对常见浏览器的说明: ### Google Chrome: 1. 打开 Chrome 浏览器并导航到您想要调整文字大小的网页。 2. 在页面上右键单击空白处,然后选择 "检查" 或按下 CtrlShiftI(在 Windows 或 Linux 上)或 Co…