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.mfbz.cn/a/559915.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何搭建线下陪玩系统(本地伴游、多玩圈子)APP小程序H5多端前后端源码交付,支持二开!

一、卡顿的优化方法 1、对陪玩系统源码中流媒体传输的上行进行优化,通过提升推流端的设备性能配置、推流边缘CDN节点就近选择等方式解决音视频数据源流的卡顿。 2、对陪玩系统源码中音视频数据的下载链路进行优化,通过选择更近更优质的CDN边缘节点来减少…

OpenHarmony实战开发-如何实现发布图片评论功能。

介绍 本示例将通过发布图片评论场景,介绍如何使用startAbilityForResult接口拉起相机拍照,并获取相机返回的数据。 效果图预览 使用说明 通过startAbilityForResult接口拉起相机,拍照后获取图片地址。 实现思路 1.创建CommentData类&…

Docker Desktop打开一直转圈的解决办法

安装Docker Desktop之前确保你的Hyper-V已经打开 开启后需要重新安装重新安装重新安装这是最关键的一步,博主自己看了很多教程,最后试着重装了一下解决了 安装DockerDesktop的时候我的电脑根本就没有Hyper-V这个功能选项,可能是这个问题 如…

RLHF强化学习对其算法:PPO、DPO、ORPO

参考: https://blog.csdn.net/baoyan2015/article/details/135287298 https://cloud.tencent.com/developer/article/2409553 最新的llama3是PPO、DPO两种方法使用 人类反馈强化学习 (RLHF),它利用人类偏好和指导来训练和改进机器学习模型: …

ColBERT和ColBERTv2:兼具Bi-encoder和cross-encoder优势的多向量排序模型

文章目录 简介ColBERTColBert 原理ColBERT如何训练ColBERT 如何使用离线索引用ColBERT 实现top-k Re-ranking用ColBERT 实现top-k 端到端的检索 ColBERTv2ColBERTv2原理SupervisionRepresentation IndexingRetrieval 总结参考资料 简介 ColBERT是一种多向量排序模型&#xff0…

centos7安装mysql5.7笔记

1 配置yum仓库 1.1更新密钥 #更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 1.2 下载使用wget命令下载MySQL的repo文件 #下载使用wget命令下载MySQL的repo文件 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2 使用…

我为什么想成为一名程序员

#为什么你选择成为一名程序员# 目录 原因: 后续选择: 结尾: 原因: 本人是一个00后,出生在农村当时经济相对来说比较落后,村里面基本上都没几个人有手机。当时有些小伙伴他们拿着自己大人的手机在那里玩…

CS61B sp21fall Project02 Gitlet

Project02 Gitlet 一、项目简介二、Git和Gitlet2.1 Git简介2.2 Gitlet简介 三、框架设计3.1 Blobs3.2 Trees3.3 Commits 四、.Gitlet文件结构设计4.1 .git文件架构4.1.1 重点介绍index(VSCode中无法查看,会乱码)objects(VSCode中无…

Navicat导入sql文件图文教程

本文使用的MySQL工具为:Navicat.默认已经连接数据库!! 步骤: 1.右键自己的数据库,选择新建数据库. 2.输入数据库名称,字符集选择“utf8”,排序规则选择“ utf8_general_ci”,确定. 3.双击新建好的“数据库”。右键点击“运行SQL文件”。 4.选择本地的s…

2024年安装tf tfa tfh

目的: 在win10上,anaconda内,同时安装tensorflow tensorflow_hub tensorflow_addons。需要注意3个版本相互对应。 本文最后找到一种方法:先用pip安装tensorflow2.14版本,再次使用pip安装剩余两个时,就会自…

姑苏寻韵~庆开放原子开源大赛 OpenTiny 前端 Web 应用开发挑战赛路演圆满落幕。

春日已至,姑苏古城迎来了一场编程的盛宴——开放原子开源大赛OpenTiny前端Web应用开发挑战赛。历时三个月的激烈角逐,OpenTiny与众多开发者携手共赴这场智慧的较量。决赛路演于4月14日在苏州(太湖)产业软件园圆满落下帷幕~ 开放原…

圣地亚哥 Toler 小学利用School AI帮助每个学生都有自己的聊天机器人,提高学习兴趣和效率

圣地亚哥 Toler 小学利用 AI 程序 SchoolAI 平台为学生创建个性化的聊天机器人,帮助他们更好地学习和提问。这个 AI 程序让学生可以在几秒钟内得到问题的答案,激发了他们提出更多问题的好奇心。 管理、调节和指导学生如何通过任务控制使用人工智能。 当…

JUC(java.util.concurrent) 的常见类

Callable 接口 Callable 的用法 Callable 是一个 interface(类似之前的 Runnable,用来描述一个任务,但是没有返回值)也是描述一个任务的,有返回值。方便程序猿借助多线程的方式计算结果. 例如:创建线程…

CZT Blusetein‘s FFT

参考文献: [Sto66] Stockham Jr T G. High-speed convolution and correlation[C]//Proceedings of the April 26-28, 1966, Spring joint computer conference. 1966: 229-233.[Blu68] Bluestein L. A linear filtering approach to the computation of discrete …

代码优化实践之税率计算问题

开篇 今天的问题来自于《编程珠玑》第三章【数据决定程序结构】,这里提出了几条代码优化相关的原则,受益不浅。下面是提到的几条原则: 使用数组重新编写重复代码。冗长的相似代码往往可以使用最简单的数据结构——数组来更好的表述&#xff1…

Vue3: toRefs与toRef的基本使用

一、前言 本文主要介绍toRefs与toRef的基本使用。 二、内容 1、基本概念 作用: toRefs与toRef可以将一个响应式对象中的每一 个属性,转换为ref对象;不同 toRefs与toRef功能一致,但toRefs可以批量转换。 2、toRefs 如果把reactive定义的…

ROS仿真小车(四)—— URDF与Gazebo集成

文章目录 前言一、ubuntu20.04中下载gazebo_models二、在gazebo中显示简单模型1 创建功能包,导入依赖2 编写URDF文件3 编写launch文件4 在gazebo中显示机器人模型 三、URDF集成Gazebo相关设置四、在gazebo中导入小车模型1 编写xacro文件2 编写launch文件3 运行结果 …

Stable Diffusion 模型分享:MeinaMix(动漫)meinamix_meinaV11

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 MeinaMix 的目标是:能够在很少的提示下…

SpectralMamba:用于高光谱图像分类的高效 Mamba

SpectralMamba:用于高光谱图像分类的高效 Mamba 摘要IntroductionMethodologyPreliminariesSpectralMamba: OverviewSpectralMamba: Key ComponentsB1 Piece-wise Sequential ScanningIii-B2 Gated Spatial-Spectral Merging SpectralMamba: Efficient Mamba for Hy…

【InternLM 实战营第二期作业06】Lagent AgentLego 智能体应用搭建

基础作业 1.完成 Lagent Web Demo 使用 使用 LMDeploy 部署 conda activate agent lmdeploy serve api_server /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b \--server-name 127.0.0.1 \--model-name internlm2-chat-7b \--cache-max-entry-count 0.1 …
最新文章