前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >pptx:Python的PPT操作库

pptx:Python的PPT操作库

作者头像
luckpunk
发布于 2023-09-29 01:23:57
发布于 2023-09-29 01:23:57
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

1. 安装模块

Windows用户打开命令行输入:pip install python-pptx

Mac用户打开终端/Terminal输入:pip3 install python-pptx

使用windows系统,如果出现无法安装情况,可以在cmd模式下输入网址选择国内清华镜像。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-pptx

导入模块:import pptx

2. 读取PPT文档内容

先了解下PPT基本结构在python分别是什么含义:

Slide:幻灯片,就是演示文稿中每一页的页面。

Shape:方框,在每页幻灯片内插入的方框,可以是形状,也可以是文本框。

Run:文字块,一般为较少字符。

Paragraph:段落,通常有序号ㆍ、1.等。

2.1 幻灯片 slide

1)获取slide

.slides-> 得到一个列表,包含了每个slide

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation

prs = Presentation('示例文件.pptx')
for slide in prs.slides:
    print(slide)

输出结果:

<pptx.slide.Slide object at 0x0000000003737318> <pptx.slide.Slide object at 0x0000000003737228> <pptx.slide.Slide object at 0x0000000003737818> <pptx.slide.Slide object at 0x0000000003737408> <pptx.slide.Slide object at 0x00000000037377C8> <pptx.slide.Slide object at 0x00000000037376D8> <pptx.slide.Slide object at 0x0000000003737F98> <pptx.slide.Slide object at 0x00000000037372C8> <pptx.slide.Slide object at 0x00000000037373B8> …

2.2 形状 shape

1) 获取形状 shape

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation

prs = Presentation('示例文件.pptx')
for slide in prs.slides:
    for shape in slide.shapes:
        print(shape)

输出结果:

<pptx.shapes.autoshape.Shape object at 0x000000000379C390> <pptx.shapes.picture.Picture object at 0x000000000379C4E0> <pptx.shapes.picture.Picture object at 0x000000000379C0F0> <pptx.shapes.placeholder.SlidePlaceholder object at 0x000000000379C080> <pptx.shapes.placeholder.SlidePlaceholder object at 0x000000000379C400> <pptx.shapes.placeholder.SlidePlaceholder object at 0x000000000379C390> <pptx.shapes.graphfrm.GraphicFrame object at 0x000000000379C080> <pptx.shapes.placeholder.SlidePlaceholder object at 0x000000000379C400> …

2) 输出shape中的文字

shape.has_text_frame->是否有文字 shape.text_frame->获取文字框

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 获取所有Slide中的内容
from pptx import Presentation

prs = Presentation('示例文件.pptx')
for slide in prs.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            text_frame = shape.text_frame
            print(text_frame.text)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 获取某一页Slide中的内容
from pptx import Presentation

prs = Presentation('示例文件.pptx')
for i, slide in enumerate(prs.slides):
    if i == 3:
        for shape in slide.shapes:
            if shape.has_text_frame:
                text_frame = shape.text_frame
                print(text_frame.text)

2.3 段落 paragraph

1)输出shape中的某个paragraph

从shape中找paragraphs-> 获取shpae中的段落 for paragragh in text_frame.paragraphs: print(paragragh.text)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation

prs = Presentation('示例文件.pptx')
for slide in prs.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            text_frame = shape.text_frame
            for paragragh in text_frame.paragraphs:
                print(paragragh.text)

"""
注意:
该方法同样也直接获取Shpae中的文字内容;
但是这个更灵活,先获取每个Shape,然后在获取每个Shape中的paragraph;
我们可以针对paragraph,写一个判断条件,只获取第几个paragraph;
""

3. 向PPT文档写入内容

幻灯片母版及占位符

Slides_layouts:版式,一个幻灯片母版由多个版式组成,索引从0开始。

Placeholder:占位符:存在PPT母版里面的幻灯片的某一部件:Placeholder

3.1 添加slide和内容

1)选择PPT模板

a、使用ppt自带的模板

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
prs= Presentation()
prs.slide_layouts[index]

ppt自带了常用的1-48种模板通过index选择对应的模板

b、使用自定义ppt模板

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
prs= Presentation('template.pptx')

2)确认占位符id

prs.slides_layouts[0] # 获取第一套母版的第一个版式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation

prs = Presentation("示例文件2.pptx")
slide = prs.slides.add_slide(prs.slide_layouts[0])  # 用第一个母版生成一页ppt
for shape in slide.placeholders:         # 获取这一页所有的占位符
    phf = shape.placeholder_format
    print(f'{phf.idx}--{shape.name}--{phf.type}')  # id号--占位符形状名称-占位符的类型

输出结果:

0–Title 1–TITLE (1) 14–Text Placeholder 2–BODY (2) 15–Text Placeholder 3–BODY (2) 16–Text Placeholder 4–BODY (2) 17–Text Placeholder 5–BODY (2) 18–Text Placeholder 6–BODY (2)

title 标题类型的占位符 subtitle 副标题类型的占位符 body 正文类型的占位符

3)向占位符内填写内容

shape.text = 字符串 prs.save(文件路径.文件名) #同文件夹内可以省略文件路径

绝对文件路径如:C:/Users/Administrator/Desktop/test.pptx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from datetime import datetime

prs = Presentation("示例文件2.pptx")
slide = prs.slides.add_slide(prs.slide_layouts[0])  # 用第一个母版生成一页ppt
for shape in slide.placeholders:         # 获取这一页所有的占位符
    phf = shape.placeholder_format
    print(f'{phf.idx}--{shape.name}--{phf.type}')
    shape.text = f'{phf.idx}--{phf.type}'  #在占位符中填写“占位符id号--占位符类型”
prs.save('向占位符内填写内容.pptx')

写入前:

写入后:

4)修改占位符的内容

slide.placeholders[占位符ID]

[变量名].text = 字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from datetime import datetime
prs = Presentation("示例文件2.pptx")
slide = prs.slides.add_slide(prs.slide_layouts[0])  # 用第一个母版生成一页ppt
# 确定填写位置
winner_name = slide.placeholders[18]
certificate_type =slide.placeholders[0]
this_is_to_certify_that = slide.placeholders[14]
winning_reason =slide.placeholders[15]
award_presenter = slide.placeholders[16]
award_date = slide.placeholders[17]
# 修改占位符里的填写内容
winner_name.text = "韩梅梅"
certificate_type.text = "三好学生奖状"
this_is_to_certify_that.text = "兹证明"
winning_reason.text = "德学体美劳全面发展"
award_presenter.text = "xx校长"
award_date.text = str(datetime.now().date())

prs.save('修改占位符的内容.pptx')

3.2 添加段落

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation

prs = Presentation()
bullet_slide_layout = prs.slide_layouts[1] # 使用第2个版式新建幻灯片
slide = prs.slides.add_slide(bullet_slide_layout)
shapes = slide.shapes
title_shape = shapes.title
body_shape =shapes.placeholders[1]

title_shape.text = "添加项目符号列表页"  # 给title占位符添加内容

tf = body_shape.text_frame
tf.text = "带圆点的项目符号行1"   # 给body占位符添加内容

p = tf.add_paragraph()
p.text = "带圆点的项目符号行2"   # 在原来的基础上,添加第一个段落

p = tf.add_paragraph()
p.text = "带圆点的项目符号行3"  # 在原来的基础上,添加第个段落
prs.save('添加段落paragraph.pptx')
给段落设定层级关系

paragraph.level = 层级数【0是最顶层】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p = tf.add_paragraph()
p.text = "带圆点的项目符号行2"
p.level = 1

p = tf.add_paragraph()
p.text = "带圆点的项目符号行3"
p.level = 2

3.3 添加文本框

slide.shapes.add_textbox(left,top.width,height)

  • 厘米写法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Cm,Pt

prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)

left = top = width = height =Cm(3)  # # left,top为相对位置,width,height为文本框大小。满足条件顺序是左>>>下
text_box = slide.shapes.add_textbox(left,top,width,height)
tf = text_box.text_frame
tf.text = "这是一段文本框里的文字"

p = tf.add_paragraph()
p.text = "这是第二段文字,加粗,字号40"
p.font.bold = True
p.font.size = Pt(40)

prs.save('添加文本框.pptx')
  • 英尺写法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Inches
left= top= width= height= Inches(5)

textbox= slide.shapes.add_textbox(left, top, width, height)
textbox.text= '这是一段文本框里的文字'

new_para= textbox.text_frame.add_paragraph()
new_para.text= '这是第二段文字'

prs.save('添加文本框.pptx')

3.4 添加形状

slide_layout = prs.slide_layouts[SLD_LAYOUT_TITLE_AND_CONTENT]

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE
from pptx.util import Inches

SLD_LAYOUT_TITLE_AND_CONTENT = 6
prs = Presentation()
slide_layout = prs.slide_layouts[SLD_LAYOUT_TITLE_AND_CONTENT]
slide = prs.slides.add_slide(slide_layout)

# 支持的形状可以看:
# https://docs.microsoft.com/zh-cn/office/vba/api/Office.MsoAutoShapeType
shapes = slide.shapes
left, top, width, height = Inches(1), Inches(3), Inches(1.8), Inches(1)
shape = shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, left, top, width, height)
shape.text ='第一步'

for n in range(2,6):
    left=left+width-Inches(-0.8)
    shape = slide.shapes.add_shape(MSO_SHAPE.CHEVRON,left,top,width,height)
    shape.text = f'第{n}步'
prs.save('添加形状.pptx')

3.5 添加图片

slide.shapes.add_picture(图片路径,距离左边,距离顶端,宽度,高度)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Cm

prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)

left = top = Cm(3)
pic = slide.shapes.add_picture('butterfly.png',left,top)

left = height = Cm(5)
pic = slide.shapes.add_picture('butterfly.png',left,top, height=height)

prs.save('添加图片.pptx')

3.6 添加表格

shapes.add_table(rows,cols,left,top,width,height).table

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Cm

prs = Presentation()
blank_slide_layout = prs.slide_layouts[6] #使用第7个空白版式创建新的幻灯片
slide = prs.slides.add_slide(blank_slide_layout)

rows,cols = 4,2
left = top =Cm(5)
width = Cm(18)
height = Cm(3)

table = slide.shapes.add_table(rows,cols,left,top,width,height).table
# 可以修改列宽、行高
table.columns[0].width = Cm(6)
table.columns[1].width = Cm(4)
table.rows[0].height =Cm(2)

data = [
    ['姓名','成绩'],
    ['李雷',99],
    ['韩梅梅', 92],
    ['马东梅', 92],
]
for row in range(rows):
    for col in range(cols):
        table.cell(row,col).text =str(data[row][col])

prs.save('添加表格.pptx')

3.7 PPT文档内容样式批量调整

1)文本框位置调整

对齐文本方式:

顶端对齐 .TOP

底端对齐 .BOTTOM

中间对齐 .MIDDLE

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Cm
from pptx.enum.text import MSO_ANCHOR, MSO_AUTO_SIZE

prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)

left = top = width = height =Cm(3)
text_box = slide.shapes.add_textbox(left,top,width,height)
tf = text_box.text_frame
tf.text = "这是一段文本框里的文字"

tf.margin_bottom = Cm(0.1) #下边距
tf.margin_left = 0 #左边距
tf.vertical_anchor = MSO_ANCHOR.BOTTOM # 对齐文本方式:底端对齐
tf.word_wrap = True # 框中的文字自动换行
prs.save('文本框样式的调整.pptx')

2)文本框背景颜色调整

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx.dml.color import RGBColor

fill = text_box.fill
text_box = slide.shapes.add_textbox(left, top, width, height)
fill.solid()  # 纯色填充
fill.fore_color.rgb = RGBColor(247, 150, 70)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Cm, Pt
from pptx.enum.text import MSO_ANCHOR, MSO_AUTO_SIZE
from pptx.dml.color import RGBColor

prs = Presentation()
# 使用第七个版式
black_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(black_slide_layout)

left = top = width = height = Cm(3)
text_box = slide.shapes.add_textbox(left, top, width, height)
tf = text_box.text_frame
tf.text = "这是一段文本框里面的文字"
# -------------------------------------- #
tf.margin_bottom = Cm(0.1) # 下边距
tf.margin_left = 0 # 下边距
tf.vertical_anchor = MSO_ANCHOR.BOTTOM
tf.word_wrap = True # 框中的文字自动换行
# -------------------------------------- #
fill = text_box.fill
fill.solid()
# 使用之前一定要导入RGBColor这个库
fill.fore_color.rgb = RGBColor(100, 149, 237)

prs.save("文本框背景色的调整.pptx")

3)文本框边框样式调整

line = text_box.line

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Cm, Pt
from pptx.enum.text import MSO_ANCHOR, MSO_AUTO_SIZE
from pptx.dml.color import RGBColor

prs = Presentation()
# 使用第七个版式
black_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(black_slide_layout)

left = top = width = height = Cm(3)
text_box = slide.shapes.add_textbox(left, top, width, height)
tf = text_box.text_frame
tf.text = "这是一段文本框里面的文字"
# -------------------------------------- #
tf.margin_bottom = Cm(0.1) # 下边距
tf.margin_left = 0 # 下边距
tf.vertical_anchor = MSO_ANCHOR.BOTTOM
tf.word_wrap = True # 框中的文字自动换行
# -------------------------------------- #
fill = text_box.fill
fill.solid()
# 使用之前一定要导入RGBColor这个库
fill.fore_color.rgb = RGBColor(247, 150, 70)
# -------------------------------------- #
line = text_box.line
line.color.rgb = RGBColor(255, 0, 0)
line.width = Cm(0.3)

prs.save("文本框边框样式调整.pptx")

4)段落及字体样式调整

段落对齐调整

from pptx.enum.text import PP_ALIGN

p.alignment = 对齐方式

PP_ALIGN.LEFTPP_ALIGN.CENTERPP_ALIGN.RIGHT

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.enum.text import PP_ALIGN
from pptx.util import Cm

prs = Presentation()
# 使用第七个版式
black_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(black_slide_layout)

left = top = width = height = Cm(3)
text_box = slide.shapes.add_textbox(left, top, width, height)
tf = text_box.text_frame
# ---------------------------- #
p = tf.add_paragraph()
p.text = "这是第二段文字"
p.alignment = PP_ALIGN.LEFT  # 左对齐

prs.save("段落对其调整.pptx")
段落其他样式调整

与word中的使用非常相似:

.add_run() 添加新的文字块 .level 段落缩进层级 .line_spacing 段落行间距 .runs 段落内的文字块 .space_after 段后距 .space_before 段前距

字体样式调整

.font.name 字体名称(可以直接设定为中文字体) .font.bold 是否加粗 .font.italic 是否斜体 .font.color 字体颜色 .font.size 字体大小

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pptx import Presentation
from pptx.util import Cm, Pt
from pptx.enum.text import MSO_ANCHOR, MSO_AUTO_SIZE
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN

prs = Presentation()
# 使用第七个版式
black_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(black_slide_layout)

left = top = width = height = Cm(3)
text_box = slide.shapes.add_textbox(left, top, width, height)
tf = text_box.text_frame
# ---------------------------- #
p = tf.add_paragraph()
p.text = "这是第二段文字"
p.alignment = PP_ALIGN.LEFT
# ------------------------------------- #
p.font.bold = True
p.font.name = "宋体"
p.font.color.rgb = RGBColor(247, 150, 70)
p.font.size = Pt(30)

prs.save("字体样式调整.pptx")
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
机器学习|从0开始大模型之模型LoRA训练
继续《从0开发大模型》系列文章,上一篇用全量数据做微调,训练时间太长,参数比较大,但是有一种高效的微调方式LoRA。
用户1904552
2025/02/27
3580
机器学习|从0开始大模型之模型LoRA训练
怎么裁剪LLM(大语言模型)的vocab(词表)?
对于一些多语言的大语言模型而言,它的词表往往很大。在下游使用这些模型的时候,可能我们不需要其它的一些语言,例如只需要中文和英文,此时,我们可以对其vocab进行裁剪,既可以大大减少参数量,也能够保留模型的性能,接下来以Bloom模型为例看看是怎么进行操作的。
西西嘛呦
2023/04/27
1.6K0
13 | PyTorch全连接网络识别飞机、全连接在图像分类上的缺陷
接着上一小节说,我们已经把全连接网络建好了,接下来就需要去训练网络,找到合适的参数来拟合我们的训练数据,那么第一个事情就看损失函数。
机器学习之禅
2022/07/11
6800
13 | PyTorch全连接网络识别飞机、全连接在图像分类上的缺陷
[源码解析] 快手八卦 --- 机器学习分布式训练新思路(2)
“Bagua“ 是快手和苏黎世理工(ETH Zürich)联合开发的分布式训练框架。其专门针对分布式的场景设计特定的优化算法,实现算法和系统层面的联合优化,力图极致化分布式训练的效率。其特点是:
罗西的思考
2022/05/09
5380
[源码解析] 快手八卦 --- 机器学习分布式训练新思路(2)
医学图像分析的深度学习
初学者的教程,在OCT视网膜图像上的pytorch中使用vgg16架构实现迁移学习。
代码医生工作室
2019/06/21
1.4K0
医学图像分析的深度学习
线性神经网路——线性回归随笔【深度学习】【PyTorch】【d2l】
3.1、线性回归 线性回归是显式解,深度学习中绝大多数遇到的都是隐式解。 3.1.1、PyTorch 从零实现线性回归 %matplotlib inline import random impo
来杯Sherry
2023/07/24
7570
60分钟快速入门PyTorch
本文是翻译自官方版教程--DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ,一份 60 分钟带你快速入门 PyTorch 的教程。
kbsc13
2020/05/22
1.2K0
60分钟快速入门PyTorch
pytorch和tensorflow的爱恨情仇之定义可训练的参数
之前我们就已经了解了pytorch和tensorflow中的变量,本节我们深入了解可训练的参数-变量
西西嘛呦
2020/10/10
8510
pytorch和tensorflow的爱恨情仇之定义可训练的参数
快速入门PyTorch(2)--如何构建一个神经网络
在 PyTorch 中 torch.nn 专门用于实现神经网络。其中 nn.Module 包含了网络层的搭建,以及一个方法-- forward(input) ,并返回网络的输出 outptu .
kbsc13
2019/08/16
4750
机器学习|从0开发大模型之模型预训练
继续写《从0开发大模型》系列文章,本文主要介绍预训练过程。 预训练是目的是让模型学习知识,需要将预处理的数据(《机器学习|从0开发大模型之数据预处理》)中生成的 pretrain_data.bin 文件的上下文全部学习到,那预训练怎么做呢?
用户1904552
2025/02/27
1820
机器学习|从0开发大模型之模型预训练
torch.optim.lr_scheduler:调整学习率
本文是笔者在学习cycleGAN的代码时,发现其实现了根据需求选择不同调整学习率方法的策略,遂查资料了解pytorch各种调整学习率的方法。主要参考:https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
全栈程序员站长
2022/11/03
1.4K0
Pytorch 固定部分参数训练
我们经常会用到预训练模型,并在预训练模型的基础上添加额外层。训练时先将预训练层参数固定,只训练额外添加的部分。本文记录 Pytorch 相关操作。 固定参数 固定参数即网络训练时不改变该部分的权重,而更新指定层的参数 pytorch 固定参数主要通过两个设置完成 将 tensor 的 requires_grad 属性设置为 False 仅将该属性设置为 False 网络仍会训练并修改参数,还需要堆 optimizer 的输入参数进行过滤 在 optimizer 中过滤需要更新的变量
为为为什么
2022/08/09
2.6K0
【深度学习】翻译:60分钟入门PyTorch(三)——神经网络
原文翻译自:Deep Learning with PyTorch: A 60 Minute Blitz
黄博的机器学习圈子
2021/02/12
7440
PyTorch Trick集锦
Keras有一个简洁的API来查看模型的每一层输出尺寸,这在调试网络时非常有用。现在在PyTorch中也可以实现这个功能。
zenRRan
2020/09/04
6780
编写高效的PyTorch代码技巧(上)
原文:https://github.com/vahidk/EffectivePyTorch
kbsc13
2020/05/08
8270
PyTorch 深度学习(GPT 重译)(三)
到目前为止,我们已经仔细研究了线性模型如何学习以及如何在 PyTorch 中实现这一点。我们专注于一个非常简单的回归问题,使用了一个只有一个输入和一个输出的线性模型。这样一个简单的例子使我们能够剖析一个学习模型的机制,而不会过于分散注意力于模型本身的实现。正如我们在第五章概述图中看到的,图 5.2(这里重复为图 6.1),了解训练模型的高级过程并不需要模型的确切细节。通过将错误反向传播到参数,然后通过对损失的梯度更新这些参数,无论底层模型是什么,这个过程都是相同的。
ApacheCN_飞龙
2024/03/21
5880
PyTorch 深度学习(GPT 重译)(三)
pytorch实用工具总结
模型的计算图:def print_autograd_graph():或者参见tensorboad
lujohn3li
2020/03/04
4450
PyTorch Tricks 集锦
设置当前使用的GPU设备仅为0号设备,设备名称为 /gpu:0: os.environ["CUDA_VISIBLE_DEVICES"] = "0"
Python数据科学
2019/11/12
5500
小白学PyTorch | 6 模型的构建访问遍历存储(附代码)
torch.nn.Module是所有网络的基类,在PyTorch实现模型的类中都要继承这个类(这个在之前的课程中已经提到)。在构建Module中,Module是一个包含其他的Module的,类似于,你可以先定义一个小的网络模块,然后把这个小模块作为另外一个网络的组件。因此网络结构是呈现树状结构。
机器学习炼丹术
2020/09/14
1.4K0
小白学PyTorch | 6 模型的构建访问遍历存储(附代码)
PyTorch 学习 -4- 模型构建
Module 类是 torch.nn 模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型。
为为为什么
2023/07/20
5010
PyTorch 学习 -4- 模型构建
相关推荐
机器学习|从0开始大模型之模型LoRA训练
更多 >
LV.1
腾讯高级工程师
目录
  • 1. 安装模块
  • 2. 读取PPT文档内容
    • 2.1 幻灯片 slide
      • 1)获取slide
    • 2.2 形状 shape
      • 1) 获取形状 shape
      • 2) 输出shape中的文字
    • 2.3 段落 paragraph
      • 1)输出shape中的某个paragraph
  • 3. 向PPT文档写入内容
    • 3.1 添加slide和内容
      • 1)选择PPT模板
      • 2)确认占位符id
      • 3)向占位符内填写内容
      • 4)修改占位符的内容
    • 3.2 添加段落
    • 3.3 添加文本框
    • 3.4 添加形状
    • 3.5 添加图片
    • 3.6 添加表格
    • 3.7 PPT文档内容样式批量调整
      • 1)文本框位置调整
      • 2)文本框背景颜色调整
      • 3)文本框边框样式调整
      • 4)段落及字体样式调整
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档