前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python 高级函数补充

python 高级函数补充

原创
作者头像
ruochen
修改于 2021-05-12 01:59:06
修改于 2021-05-12 01:59:06
5430141
代码可运行
举报
运行总次数:141
代码可运行

高级函数补充

zip

  • 把两个可迭代内容生成一个可迭代的tuple元素类型组成的内容
代码语言:txt
AI代码解释
复制
# zip 案例
l1 = [1,2,3,4,5]
l2 = [11,22,33,44,55]

z = zip(l1, l2)

print(type(z))

for i in z:
    print(i)
代码语言:txt
AI代码解释
复制
<class 'zip'>
代码语言:txt
AI代码解释
复制
(1, 11)
代码语言:txt
AI代码解释
复制
(2, 22)
代码语言:txt
AI代码解释
复制
(3, 33)
代码语言:txt
AI代码解释
复制
(4, 44)
代码语言:txt
AI代码解释
复制
(5, 55)
代码语言:txt
AI代码解释
复制
l1 = ["wangwang", "mingyue", "yyt"]
l2 = [89, 23, 78]

z = zip(l1, l2)

for i in z:
    print(i)
   
l3 = (i for i in z)
print(l3)
代码语言:txt
AI代码解释
复制
('wangwang', 89)
代码语言:txt
AI代码解释
复制
('mingyue', 23)
代码语言:txt
AI代码解释
复制
('yyt', 78)
代码语言:txt
AI代码解释
复制
<generator object <genexpr> at 0x000001ED9F1F3ED0>

enumerate

  • 跟zip功能比较像
  • 对可迭代对象里的每一元素,配上一个索引,然后索引和内容构成tuple类型
代码语言:txt
AI代码解释
复制
l1 = [11,22,33,44,55]

em = enumerate(l1)

l2 = [i for i in em]
print(l2)
代码语言:txt
AI代码解释
复制
[(0, 11), (1, 22), (2, 33), (3, 44), (4, 55)]
代码语言:txt
AI代码解释
复制
em = enumerate(l1, start=100)

l2 = [i for i in em]
print(l2)
代码语言:txt
AI代码解释
复制
[(100, 11), (101, 22), (102, 33), (103, 44), (104, 55)]

collections模块

  • namedtuple
  • deque

namedtuple

  • tuple类型
  • 是一个可命名的tuple
代码语言:txt
AI代码解释
复制
import collections
Point = collections.namedtuple("Point", ['x', 'y'])
p = Point(11, 22)
print(p.x)
print(p[0])
代码语言:txt
AI代码解释
复制
11
代码语言:txt
AI代码解释
复制
11
代码语言:txt
AI代码解释
复制
Circle = collections.namedtuple("Circle", ['x', 'y', 'r'])

c = Circle(100, 120, 20)
print(c)
print(type(c))

# 检测一下namedtuple到底属于谁的子类
isinstance(c, tuple)
代码语言:txt
AI代码解释
复制
Circle(x=100, y=120, r=20)
代码语言:txt
AI代码解释
复制
<class '__main__.Circle'>
代码语言:txt
AI代码解释
复制
True
代码语言:txt
AI代码解释
复制
import collections
help(collections.namedtuple)
代码语言:txt
AI代码解释
复制
Help on function namedtuple in module collections:
代码语言:txt
AI代码解释
复制
namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)
代码语言:txt
AI代码解释
复制
    Returns a new subclass of tuple with named fields.
代码语言:txt
AI代码解释
复制
    >>> Point = namedtuple('Point', ['x', 'y'])
代码语言:txt
AI代码解释
复制
    >>> Point.__doc__                   # docstring for the new class
代码语言:txt
AI代码解释
复制
    'Point(x, y)'
代码语言:txt
AI代码解释
复制
    >>> p = Point(11, y=22)             # instantiate with positional args or keywords
代码语言:txt
AI代码解释
复制
    >>> p[0] + p[1]                     # indexable like a plain tuple
代码语言:txt
AI代码解释
复制
    33
代码语言:txt
AI代码解释
复制
    >>> x, y = p                        # unpack like a regular tuple
代码语言:txt
AI代码解释
复制
    >>> x, y
代码语言:txt
AI代码解释
复制
    (11, 22)
代码语言:txt
AI代码解释
复制
    >>> p.x + p.y                       # fields also accessible by name
代码语言:txt
AI代码解释
复制
    33
代码语言:txt
AI代码解释
复制
    >>> d = p._asdict()                 # convert to a dictionary
代码语言:txt
AI代码解释
复制
    >>> d['x']
代码语言:txt
AI代码解释
复制
    11
代码语言:txt
AI代码解释
复制
    >>> Point(**d)                      # convert from a dictionary
代码语言:txt
AI代码解释
复制
    Point(x=11, y=22)
代码语言:txt
AI代码解释
复制
    >>> p._replace(x=100)               # _replace() is like str.replace() but targets named fields
代码语言:txt
AI代码解释
复制
    Point(x=100, y=22)

deque

  • 比较方便的解决了频繁删除插入带来的效率问题
代码语言:txt
AI代码解释
复制
from collections import deque

q = deque(['a', 'b', 'c'])
print(q)

q.append('d')
print(q)

q.appendleft('x')
print(q)
代码语言:txt
AI代码解释
复制
deque(['a', 'b', 'c'])
代码语言:txt
AI代码解释
复制
deque(['a', 'b', 'c', 'd'])
代码语言:txt
AI代码解释
复制
deque(['x', 'a', 'b', 'c', 'd'])

defaultdict

  • 当直接读取dict不存在的属性时,直接返回默认值
代码语言:txt
AI代码解释
复制
d1 = {"one":1, "two":2, "three":3}
print(d1['one'])
print(d1['four'])
代码语言:txt
AI代码解释
复制
1
代码语言:txt
AI代码解释
复制
---------------------------------------------------------------------------
代码语言:txt
AI代码解释
复制
KeyError                                  Traceback (most recent call last)
代码语言:txt
AI代码解释
复制
<ipython-input-34-83fcfcbfcf65> in <module>
代码语言:txt
AI代码解释
复制
      1 d1 = {"one":1, "two":2, "three":3}
代码语言:txt
AI代码解释
复制
      2 print(d1['one'])
代码语言:txt
AI代码解释
复制
----> 3 print(d1['four'])
代码语言:txt
AI代码解释
复制
KeyError: 'four'
代码语言:txt
AI代码解释
复制
from collections import defaultdict
# lambda表达式,直接返回字符串
func = lambda: "ruochen"
d2 = defaultdict(func)

d2["one"] = 1
d2["two"] = 2

print(d2['one'])
print(d2['four'])
代码语言:txt
AI代码解释
复制
1
代码语言:txt
AI代码解释
复制
ruochen

Counter

  • 统计字符串个数
代码语言:txt
AI代码解释
复制
from collections import Counter

# 为什么下面结果不把abcd...作为键值,而是以其中每一个字母作为键值
# 需要括号里内容为可迭代
c = Counter("abcdeabcabc")
print(c)
代码语言:txt
AI代码解释
复制
Counter({'a': 3, 'b': 3, 'c': 3, 'd': 1, 'e': 1})
代码语言:txt
AI代码解释
复制
# help(Counter)
代码语言:txt
AI代码解释
复制
s = {"I", "love", "you"}
c = Counter(s)

print(c)
代码语言:txt
AI代码解释
复制
Counter({'love': 1, 'you': 1, 'I': 1})

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
# 访问蓝色通道 blue_channel = img[:, :, 0] # 修改红色通道 img[:, :, 2] = 0 up主你好 我是初学者,这里应该是注释写错了 ,
# 访问蓝色通道 blue_channel = img[:, :, 0] # 修改红色通道 img[:, :, 2] = 0 up主你好 我是初学者,这里应该是注释写错了 ,
回复回复点赞举报
推荐阅读
使用PyTorch实现混合专家(MoE)模型
Mixtral 8x7B 的推出在开放 AI 领域引发了广泛关注,特别是混合专家(Mixture-of-Experts:MoEs)这一概念被大家所认知。混合专家(MoE)概念是协作智能的象征,体现了“整体大于部分之和”的说法。MoE模型汇集了各种专家模型的优势,以提供更好的预测。它是围绕一个门控网络和一组专家网络构建的,每个专家网络都擅长特定任务的不同方面
deephub
2024/01/10
1.6K0
使用PyTorch实现混合专家(MoE)模型
手把手教你,从零开始实现一个稀疏混合专家架构语言模型(MoE)
在混合专家模型 Mixtral 发布后,混合专家模型(MoE)越来越受到人们的关注。在稀疏化的混合专家语言模型中,大部分组件都与传统的 transformers 相同。然而,尽管看似简单,但经验表明,稀疏混合专家语言模型训练的稳定性还存在着一些问题。
机器之心
2024/02/26
1.8K0
手把手教你,从零开始实现一个稀疏混合专家架构语言模型(MoE)
从DeepSeek-V3的成功,看MoE混合专家网络对深度学习算法领域的影响(MoE代码级实战)
📷 一、引言 经历了大模型2024一整年度的兵荒马乱,从年初的Sora文生视频到MiniMax顿悟后的开源,要说年度最大赢家,当属deepseek莫属:年中
LDG_AGI
2025/01/21
1910
从DeepSeek-V3的成功,看MoE混合专家网络对深度学习算法领域的影响(MoE代码级实战)
DeepSeek v3 的 MoE 模型架构与激活参数解析
在人工智能和深度学习的研究中,模型的规模和架构决定了它的能力与潜力。本文将深入探讨 DeepSeek v3 这一模型的独特之处——其被描述为一个拥有 671B 参数的 MoE(Mixture of Experts)模型,其中 37B 参数在推理过程中被激活。这一表述对于许多新接触这一领域的人来说可能显得晦涩难懂,但通过逐步解析和实际案例的对比,能帮助更好地理解这一模型的结构与工作原理。
编程小妖女
2025/01/12
1.9K0
DeepSeek v3 的 MoE 模型架构与激活参数解析
[DeepSeek]-DeepSeek技术解析:MoE架构实现与代码实战
以下是一篇结合DeepSeek技术解析与代码示例的技术文章,重点展示其核心算法实现与落地应用:
远方2.0
2025/03/15
5320
[DeepSeek]-DeepSeek技术解析:MoE架构实现与代码实战
【深度学习】多目标融合算法(四):多门混合专家网络MMOE(Multi-gate Mixture-of-Experts)
上一篇我们讲了MoE混合专家网络,通过引入Gate门控,针对不同的Input分布,对多个专家网络赋予不同的权重,解决多场景或多目标任务task的底层信息共享及个性化问题。但MoE网络对于不同的Expert专家网络,采用同一个Gate门控网络,仅对不同的Input分布实现了个性化,对不同目标任务task的个性化刻画能力不足,今天在MoE的基础上,引入MMoE网络,为每一个task任务构建专属的Gate门控网络,这样的改进可以针对不同的task得到不同的Experts权重,从而实现对Experts专家的选择利用,不同的任务task对应的gate门控网络可以学习到不同的Experts网络组合模式,更容易捕捉到不容task间的相关性和差异性。
LDG_AGI
2025/02/11
3110
【深度学习】多目标融合算法(四):多门混合专家网络MMOE(Multi-gate Mixture-of-Experts)
[AI学习笔记]DeepSeek混合专家系统(MoE)架构深度解析
在人工智能和机器学习领域,模型架构的设计对于任务性能至关重要。随着数据规模和模型复杂度的不断增长,传统的单一专家模型在处理大规模、多样化的任务时逐渐暴露出局限性。为了突破这一瓶颈,混合专家系统(Mixture of Experts,MoE)应运而生。DeepSeek作为基于MoE架构的先进系统,在处理复杂任务时展现出了卓越的性能和灵活性,为人工智能技术的发展和应用开辟了新的道路。
数字扫地僧
2025/03/17
9990
[DeepSeek]解析DeepSeek的技术内核:混合专家架构如何重塑AI效能
在当今大型语言模型(LLM)竞争激烈的赛道上,中国AI企业DeepSeek凭借其独特的技术路线脱颖而出。其核心优势之一,便是对混合专家(Mixture of Experts,简称MoE)架构的创新应用,这一技术选择不仅重塑了AI模型的效能表现,更为行业带来了全新的思考方向。本文将深入解析DeepSeek如何通过MoE架构实现算力与性能的最优平衡。
远方2.0
2025/03/27
1910
[DeepSeek]解析DeepSeek的技术内核:混合专家架构如何重塑AI效能
多任务学习模型MMoE详解 Multi-gate Mixture-of-Experts 与代码实现
在线上推荐预测任务时往往需要预测用户的多个行为,如关注、点赞、停留时间等,从而调整策略进行权衡。其中涉及到多任务学习,本篇将会大概整理一些常用的模型如MMoE, ESMM, SNR方便理解与学习。
大鹅
2021/06/09
15.3K0
Mixture-of-Experts:大语言模型的多路专家架构详解
在现代深度学习领域,尤其是大规模语言模型的研究中,Mixture-of-Experts(简称 MoE)是一种高效的模型架构设计。其核心思想是通过一组独立的“专家”(子模型)来协同完成任务,并根据输入数据动态地选择其中少数几个专家进行计算。这种方式有效地提升了模型的表达能力,同时显著降低了计算开销。
编程小妖女
2025/01/11
2660
Mixture-of-Experts:大语言模型的多路专家架构详解
MOE怎样划分不同专家
- **随机划分**:将FFN中的神经元随机地均匀划分为多个子集,每个子集独立组成一个专家。例如在LLaMA-MoE模型的构建中,采用**非重叠随机拆分法**,将FFN层中的中间神经元均匀分割成**多个子集,每个子集对应一个专家网络**。
zhangjiqun
2025/01/06
1990
[AI学习笔记]深度动态路由演进:DeepSeek门控网络设计全解析
DeepSeek的门控网络设计主要体现在其MoE架构中,动态路由通过门控机制决定输入token被路由到哪些专家网络。
数字扫地僧
2025/03/18
4480
[AI学习笔记]深度动态路由演进:DeepSeek门控网络设计全解析
【深度学习】多目标融合算法(六):渐进式分层提取模型PLE(Progressive Layered Extraction)
上一篇我们讲了PLE的前置模型CGC(Customized Gate Control)定制门控网络,核心思想是在MMoE基础上,为每一个任务tower定制独享专家,使用任务独享专家与共享专家共同决定任务Tower的输入,相比于MMoE仅用Gate门控表征任务Tower的方法,CGC引入独享专家,对任务表征更加全面,又通过共享专家保证关联性。
LDG_AGI
2025/05/22
1350
【深度学习】多目标融合算法(六):渐进式分层提取模型PLE(Progressive Layered Extraction)
[AI学习笔记]神经网络架构演进:从MLP到DeepSeek的混合专家系统(详细教程)
在人工智能的发展历程中,神经网络架构不断演进,从早期的多层感知器(MLP)逐步发展到如今复杂且强大的混合专家系统,如DeepSeek。每一次架构的变革都为AI的能力带来了质的飞跃,深刻影响着各领域的应用。
不吃香菜AI
2025/03/15
3380
[AI学习笔记]神经网络架构演进:从MLP到DeepSeek的混合专家系统(详细教程)
深度解析DeepSeek核心机制:从模型架构到应用场景
随着大规模语言模型(LLM)的崛起,DeepSeek作为一款具备卓越性能的AI模型,在代码生成、文本理解、对话交互等多个领域展现了强大能力。本文将深入解析DeepSeek的核心机制,包括其模型架构、训练策略、推理优化及其在实际应用中的表现,并通过代码示例展示其强大之处。
江南清风起
2025/03/14
6150
深度解析DeepSeek核心机制:从模型架构到应用场景
大模型系列之解读MoE
Mixtral 8x7B 的推出, 使我们开始更多地关注 基于MoE 的大模型架构, 那么,什么是MoE呢?
半吊子全栈工匠
2024/05/07
1.6K0
大模型系列之解读MoE
DeepSeek:开启AI联动与模型微调的无限可能
文章摘要:DeepSeek 是一家由中国知名量化私募巨头幻方量化创立的人工智能公司,成立于 2023 年 7 月。其技术基石主要包括混合专家架构(MoE)、强化学习与奖励工程以及知识蒸馏技术等。2023 年至今,DeepSeek 陆续推出了多个大语言模型,如 DeepSeek Coder、DeepSeek LLM、DeepSeek-V2、DeepSeek-V3 和 DeepSeek-R1,在不同场景下展现出强大的性能和高度的优化平衡。
正在走向自律
2025/03/04
5050
DeepSeek:开启AI联动与模型微调的无限可能
如何使用神经网络模型解决分类、聚类、回归和标注任务:基于 PyTorch 的实现与分析
文章链接:https://cloud.tencent.com/developer/article/2469162
小馒头学Python
2024/11/22
6530
如何使用神经网络模型解决分类、聚类、回归和标注任务:基于 PyTorch 的实现与分析
深度学习算法中的递归神经网络(Recursive Neural Networks)
深度学习算法是当今人工智能领域的热门话题,其在图像识别、自然语言处理等领域取得了令人瞩目的成果。递归神经网络(Recursive Neural Networks,简称RNN)作为深度学习算法中的一种重要变种,具有强大的建模能力,广泛应用于自然语言处理、计算机视觉等任务中。
大盘鸡拌面
2023/09/25
1K0
一文带你搞懂图神经网络GNN
先说一下今天用到的数据集,虽然之前有文章讲过,但是这次可以讲的更透彻一些,温故而知新嘛:
Tom2Code
2024/07/19
2990
一文带你搞懂图神经网络GNN
推荐阅读
使用PyTorch实现混合专家(MoE)模型
1.6K0
手把手教你,从零开始实现一个稀疏混合专家架构语言模型(MoE)
1.8K0
从DeepSeek-V3的成功,看MoE混合专家网络对深度学习算法领域的影响(MoE代码级实战)
1910
DeepSeek v3 的 MoE 模型架构与激活参数解析
1.9K0
[DeepSeek]-DeepSeek技术解析:MoE架构实现与代码实战
5320
【深度学习】多目标融合算法(四):多门混合专家网络MMOE(Multi-gate Mixture-of-Experts)
3110
[AI学习笔记]DeepSeek混合专家系统(MoE)架构深度解析
9990
[DeepSeek]解析DeepSeek的技术内核:混合专家架构如何重塑AI效能
1910
多任务学习模型MMoE详解 Multi-gate Mixture-of-Experts 与代码实现
15.3K0
Mixture-of-Experts:大语言模型的多路专家架构详解
2660
MOE怎样划分不同专家
1990
[AI学习笔记]深度动态路由演进:DeepSeek门控网络设计全解析
4480
【深度学习】多目标融合算法(六):渐进式分层提取模型PLE(Progressive Layered Extraction)
1350
[AI学习笔记]神经网络架构演进:从MLP到DeepSeek的混合专家系统(详细教程)
3380
深度解析DeepSeek核心机制:从模型架构到应用场景
6150
大模型系列之解读MoE
1.6K0
DeepSeek:开启AI联动与模型微调的无限可能
5050
如何使用神经网络模型解决分类、聚类、回归和标注任务:基于 PyTorch 的实现与分析
6530
深度学习算法中的递归神经网络(Recursive Neural Networks)
1K0
一文带你搞懂图神经网络GNN
2990
相关推荐
使用PyTorch实现混合专家(MoE)模型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验