<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_44858786的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_44858786</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_44858786]]></copyright><item><title><![CDATA[OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.OMP: Hint]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/137675039</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/137675039</guid><author>qq_44858786</author><pubDate>Fri, 12 Apr 2024 11:45:44 +0800</pubDate><description><![CDATA[建议的最佳做法是确保程序中只链接了一个 OpenMP 运行时库。例如，避免在任何库中静态链接 OpenMP 运行时。作为一种不安全、不受支持和未记录的临时解决方法，可以设置环境变量。错误原因：在程序中发现了多个 OpenMP 运行时库的初始化。这可能会导致性能下降或产生错误结果，因为多个运行时库之间的交互可能会导致混乱。，以允许程序继续执行，但这可能会导致崩溃或产生错误的结果。解决：在运行的代码前加。]]></description><category></category></item><item><title><![CDATA[三元表达式]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135655258</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135655258</guid><author>qq_44858786</author><pubDate>Wed, 17 Jan 2024 17:07:01 +0800</pubDate><description><![CDATA[总体来说，三元表达式使得在一行中进行简单的条件判断和结果返回变得更加紧凑和可读。然而，过度使用三元表达式可能会导致代码可读性下降，因此在选择使用时需要根据具体情况权衡。在python中，三元表达式是一种紧凑的条件表达式，也称为条件表达式或条件运算符。它允许在一行中根据条件选择两个值之一。三元表达式常用于生成列表和字典的推导式，根据条件对元素进行筛选或处理。三元表达式根据条件给变量赋值，使代码更加紧凑。是一个布尔表达式，如果为。]]></description><category></category></item><item><title><![CDATA[图数据的存储]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135652271</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135652271</guid><author>qq_44858786</author><pubDate>Wed, 17 Jan 2024 16:52:04 +0800</pubDate><description><![CDATA[图是一种比较复杂的数据结构，为适应图数据的增删改查，采用的存储结构有邻接矩阵、邻接表、十字链表、邻接多重表、边集数组等。用两个数组来表示图，其中一个数组存储顶点信息，另一个二维数组存储边信息，即一个顶点数组和一个边数组，这个二维的边数组存储的就是邻接矩阵。无向图的邻接矩阵是一个对称矩阵，主对角线为零，行或列的和称为顶点的度。有向图的邻接矩阵则不一定对称。无向图的邻接矩阵：简单直观，适用于稠密图，快速检查两个顶点之间是否有边连接。对于稀疏图，浪费了大量存储资源。]]></description><category></category></item><item><title><![CDATA[正则化方法介绍]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135628208</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135628208</guid><author>qq_44858786</author><pubDate>Tue, 16 Jan 2024 16:48:23 +0800</pubDate><description><![CDATA[正则化的目标是通过对模型性的参数或层的约束，使其在训练数据上表现的不那么复杂，从而提高在未见过数据上的泛化能力。在损失函数中，L1正则化项为λ * Σ|w_i|，其中λ是正则化强度，w_i 是权重参数。在损失函数中，L2正则项为λ * Σ(w_i^2)，其中λ是正则化强度，w_i 是权重参数。Dropout通过随机丢弃神经元，强制网络学习更加鲁棒和泛化的特征，减少对某些特定神经元的依赖，防止过拟合。弹性网络是L1正则化和L2正则化的组合，具有两个超参数，一个用于控制L1正则化，一个控制L2正则化。]]></description><category></category></item><item><title><![CDATA[鸭子类型详细介绍]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135622206</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135622206</guid><author>qq_44858786</author><pubDate>Tue, 16 Jan 2024 13:30:51 +0800</pubDate><description><![CDATA[传入不同类型的对象（Dog、Cat、Duck），可以看到这个函数在运行时根据对象的行为而不是类型来执行。鸭子类型（Duck typing）是一种动态类型的编程概念，其核心思想是关注对象的行为而非是对象的类型。在鸭子类型中，一个对象的类型不是由其类或显示的接口定义决定的，而是由他具有的方法和属性决定的。鸭子类型可以鼓励设计更加通用的代码，从而提高代码的可重用性。对象只需满足特定的行为，而不必严格符合某个特定的接口或继承某个特定的基类。鸭子类型强调对象的行为是否满足特定的需求，而不是关注对象的 具体类型。]]></description><category></category></item><item><title><![CDATA[python之except关键字]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135621999</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135621999</guid><author>qq_44858786</author><pubDate>Tue, 16 Jan 2024 13:04:46 +0800</pubDate><description><![CDATA[在python中，except是用于处理异常的关键字，通常与'try'一起使用。异常处理的基本结构是通过try块包裹可能发生异常的代码，然后使用except块捕获和处理可能发生的异常。如果在try块中发生异常，python会跳转到与异常类型匹配的except块，执行相应的异常处理代码。]]></description><category></category></item><item><title><![CDATA[os.path模块常用函数]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135552551</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135552551</guid><author>qq_44858786</author><pubDate>Fri, 12 Jan 2024 14:48:19 +0800</pubDate><description><![CDATA[os.path模块提供用于处理文件路径的函数，这些函数可以跨平台使用，因为他们会根据操作系统的不同选择适当的路径分隔符。作用：分离路径中的文件名和扩展名，返回一个包含文件名和扩展名的元组。作用：返回指定路径的文件名（包含扩展名）作用：将多个路径组合成一个完整的路径。作用：返回指定路径的绝对路径。作用：判断指定路径是否是文件。作用：判断指定路径是否是目录。作用：返回指定路径的目录名。作用：判断指定路径是否存在。]]></description><category></category></item><item><title><![CDATA[迭代器与生成器]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135548616</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135548616</guid><author>qq_44858786</author><pubDate>Fri, 12 Jan 2024 12:11:30 +0800</pubDate><description><![CDATA[迭代器是一个实现了"__iter__()"和"__next__()"方法的对象。"__iter__()"返回迭代器自身对象，“__next__()”返回迭代中的下一个值。]]></description><category></category></item><item><title><![CDATA[python之闭包]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135547049</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135547049</guid><author>qq_44858786</author><pubDate>Fri, 12 Jan 2024 11:11:30 +0800</pubDate><description><![CDATA[这个例子中外部函数接受一个参数x，然后定义一个内部函数，这个内部函数引用了外部函数中的x。当我们调用outer_func(10)时候，返回了一个闭包closure，这个闭包可以在后续的调用中使用。通过调用outer_fun(00 创建了一个闭包counter，它保持着一个状态(value的值），并且可以在多次调用中保持这个状态。闭包是指在一个函数内部定义的函数，并且这个内部函数引用了外部函数中的变量。闭包允许这个内部函数捕获和访问外部函数的局部变量，即使外部函数已经执行完毕。]]></description><category></category></item><item><title><![CDATA[列表去重方法]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135523236</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135523236</guid><author>qq_44858786</author><pubDate>Thu, 11 Jan 2024 14:25:40 +0800</pubDate><description><![CDATA[使用dict.fromkeys方法，但需要借助collections.OrderDict保持原有顺序。利用itertools.groupby将相邻且相等的元素分组，取每组的第一个元素。使用列表推导式创建一个新列表，只包含原始列表中不重复的元素。利用集合的无重复性，将列表转换为集合，然后再转换回列表。方法三：使用itertools.groupby。方法四：保持顺序的去重方法。方法一：使用set去重。方法二：使用列表推导式。]]></description><category></category></item><item><title><![CDATA[详细介绍进程、线程与协程]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135519561</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135519561</guid><author>qq_44858786</author><pubDate>Thu, 11 Jan 2024 10:32:48 +0800</pubDate><description><![CDATA[当多线程中访问共享数据时，应该避免竞态条件（Race Conditions），可以使用锁（threading.Lock）等机制来保护共享资源，以防止数据不一致性的问题。python模块：在python中，multiprocessing模块提供了创建和管理进程的工具，它使用子进程而不是线程，因此在多核系统上更容易实现并行计算。特点：进程之间互相独立，拥有各自的地址空间，通信需要通过进程间通信（IPC）来实现。定义：线程是进程内的一个独立执行单元，一个进程可以包含多个线程，它们共享相同的资源。]]></description><category></category></item><item><title><![CDATA[configparser模块]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135504788</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135504788</guid><author>qq_44858786</author><pubDate>Wed, 10 Jan 2024 15:37:19 +0800</pubDate><description><![CDATA[1.读取配置文件：configparser允许从配置文件中发读取配置信息，以便在程序中使用。配置文件通常是INI文件格式，包含一到多个section，每个section包含一到多个键值对。configparser模块是python标准库中用于处理配置文件的模块，它提供了一种简单的方式来读取和写入配置文件，配置文件通常包含键值对，用于配置应用程序的参数和设置。2.写入配置文件：可以使用configparser来创建或修改配置文件，将程序中的配置信息保存到文件中。]]></description><category></category></item><item><title><![CDATA[GIL（Global interpreter Lock）]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135499432</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135499432</guid><author>qq_44858786</author><pubDate>Wed, 10 Jan 2024 12:21:02 +0800</pubDate><description><![CDATA[这也意味着，尽管python支持多线程，但在多线程环境下，同一时刻只有一个线程能够执行python字节码，其他线程被阻塞。Jython（Python运行在Java虚拟机上的实现）和IronPython（Python运行在.NET平台上的实现）等其他Python解释器可能没有GIL，因为它们使用不同的实现策略。在多进程的情况下，每个进程都有独立的解释器和内存空间，因此不受GIL的影响。GIL是python解释器中的一个全局锁，用于保护解释器中的内存管理。模块提供了支持多进程的工具。]]></description><category></category></item><item><title><![CDATA[什么是可哈希，哪些对象是可哈希的]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135496563</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135496563</guid><author>qq_44858786</author><pubDate>Wed, 10 Jan 2024 10:31:33 +0800</pubDate><description><![CDATA[在python中，可哈希通常指的是一个对象是否具有哈希值，且该哈希值在对象的生命周期内保持不变。哈希值是一个固定长度的整数，用于快速比较对象的相等性。对于可哈希的对象，可以使用内置的hash()函数在python中，不可变数据类型通常是可哈希的，而可变的数据类型通常是可哈希的.二.可哈希的对象：1.不可变基本数据类型：整数（int）浮点数（float）布尔值（bool）字符串（str）元组（tuple）2.不可变集合类型：frozenset：冻结的集合，因为他是不可变的，所以也是可哈希的。]]></description><category></category></item><item><title><![CDATA[lambda表达式]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135479959</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135479959</guid><author>qq_44858786</author><pubDate>Tue, 09 Jan 2024 14:44:03 +0800</pubDate><description><![CDATA[注意：虽然lambda函数很方便，但对于一些复杂的逻辑，建议使用正式的def语句定义函数，以提高代码的可读性。匿名函数是一种没有具体名称的小型函数，通常用于需要一个简单函数但不想正式定义一个完整函数的情况。lambda是一个用于创建。]]></description><category></category></item><item><title><![CDATA[python中的垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135475762</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135475762</guid><author>qq_44858786</author><pubDate>Tue, 09 Jan 2024 11:40:25 +0800</pubDate><description><![CDATA[垃圾回收是一种自动管理内存的机制，目标是检测和回收不再被程序使用的内存，以达到避免内存泄漏和提高程序性能。python使用的是一种被称为引用计数的垃圾回收机制，以及一个循环垃圾回收器（cycle collector）来处理一些引用环的情况。引用计数不能解决循环引用的问题。循环引用是指一组对象彼此之间存在环形引用，这使引用计数永远不会降为零。循环垃圾回收器就会检测这种情况，并主动清理循环引用的对象。每个对象都有一个引用计数，当一个对象被引用时计数加一，当引用失效时计数减一。]]></description><category></category></item><item><title><![CDATA[装饰器的作用，以及给装饰器添加参数]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135458678</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135458678</guid><author>qq_44858786</author><pubDate>Mon, 08 Jan 2024 17:13:55 +0800</pubDate><description><![CDATA[装饰器可用于修改或拓展函数或方法，通常用于在不修改原始函数代码的情况下，添加额外的功能、行为或逻辑。2.使用偏函数：使用functools.partial船舰一个偏函数，将函数传递给他，并将其应用于装饰器。1.代码复用：装饰器可以定义一些通用的功能，并将其应用于多个函数，从而实现代码的复用。7.缓存：装饰器可用于实现缓存机制，将函数的结果缓存起来，提高程序的运行效率。4.性能优化：装饰器可用于缓存函数的结果，避免重复计算，提高程序性能。创建一个装饰器工厂函数，该工厂函数接收参数并返回一个真正的装饰器函数。]]></description><category></category></item><item><title><![CDATA[copy与deepcopy异同点]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135451851</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135451851</guid><author>qq_44858786</author><pubDate>Mon, 08 Jan 2024 11:05:18 +0800</pubDate><description><![CDATA[2.引用对象：对于嵌套对象，copy可能会导致原始对象和复制对象共享相同的嵌套对象；而deepcopy会为嵌套对象创建全新的副本，确保原始对象与复制对象的嵌套对象不共享引用。1.对嵌套对象的处理不同：copy只复制最外层对象，而不会递归地复制嵌套对象；deepcopy会递归地复制整个对象，包括所有嵌套的对象。3.对于不可变对象（整数、字符串等）：copy与deepcopy使用效果类似，因为没有子对象需要复制。2.对于可变对象（列表、字典等）：会创建副本而不是引用原对象。1.都用于创建对象的副本。]]></description><category></category></item><item><title><![CDATA[标准的英文文献引用格式]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/135106977</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/135106977</guid><author>qq_44858786</author><pubDate>Wed, 20 Dec 2023 14:17:51 +0800</pubDate><description><![CDATA[标准的英文文献引用格式通常遵循一定的规范，其中最常见的是美国心理学会（American Psychological Association，简称APA）和现代语言协会（Modern Language Association，简称MLA）的引用格式。]]></description><category></category></item><item><title><![CDATA[常用损失函数]]></title><link>https://blog.youkuaiyun.com/qq_44858786/article/details/134949665</link><guid>https://blog.youkuaiyun.com/qq_44858786/article/details/134949665</guid><author>qq_44858786</author><pubDate>Tue, 12 Dec 2023 14:54:33 +0800</pubDate><description><![CDATA[常用的损失函数（Loss Functions）在深度学习中有很多种类，选择取决于问题类型和任务目标。]]></description><category></category></item></channel></rss>