Jupyter Notebook 并排显示多个 Pandas DataFrame
在 Jupyter Notebook 中,可以使用 HTML 功能来并排显示两个 Pandas DataFrame,让我们更方便地查看和对比多个表格。本文提供了一个简单的例子,展示了如何做到这一点。
在 Jupyter Notebook 中,可以使用 HTML 功能来并排显示两个 Pandas DataFrame,让我们更方便地查看和对比多个表格。本文提供了一个简单的例子,展示了如何做到这一点。
CrossEntropyLoss
在机器学习中,特别是处理分类问题时,损失函数是衡量模型预测与实际标签差异的关键。在 PyTorch 中,CrossEntropyLoss
是一个常用的损失函数,用于分类问题。它首先通过 Softmax 函数计算对应类别的概率值,然后计算每个样本的负对数似然损失,最后对所有样本的损失值求平均。
本文将通过一个简单的例子来手动计算CrossEntropyLoss
,并展示如何使用 PyTorch 实现这一过程。
.to(device)
的使用在使用 PyTorch 框架进行深度学习模型训练时,我们经常需要将模型从 CPU 迁移到 GPU 上以加速计算。PyTorch 提供了一个简洁的 API model.to(device)
来实现这一过程。但是,在使用这个 API 时,我们可能会遇到两种不同的写法:model.to(device)
和 model = model.to(device)
。那么,这两种写法有什么区别呢?
在 Python 中,set 和 list 是两种不同的数据结构,它们在使用和功能上有很大的不同。set 是一个无序的、不重复的元素集合,而 list 是一个有序的、可重复的元素集合。
然而,从 set 到 list 的过程并不是一个简单的转换,因为 set 本身就是无序的,所以从 set 到 list 的过程并没有固定的顺序。这意味着每次转换得到的 list 的元素顺序可能都会不同。
在一些项目中,我们希望结果可重现,因此需要确保每一步的结果都没有随机性。许多随机性可以通过随机种子来控制,但从 set 到 list 的过程并不会被随机种子控制住,因此仍然存在随机性。
本文探讨了从 set 到 list 的过程中的随机性,亦作为排查随机性来源的一次记录。
有时需要批量替换许多 Jupyter Notebook 的内容,由于 Jupyter Notebook 并不是简单的文本文件,在读取和替换时并不像批量修改 Python 脚本那样方便。
本文介绍了使用 nbformat
批量修改 Jupyter Notebook 的内容的方法。
argparse
解析命令行参数为布尔值在 Python 开发中,命令行参数解析是一个常见的需求,它允许我们以命令行的方式向程序传递参数,从而实现更灵活和可配置的程序设计。Python 提供了一个内置库 argparse
,它简化了命令行参数解析的过程。
这篇帖子介绍过如何使用 argparse
解析命令行参数,本文将介绍如何指定命令行参数为布尔值类型。直接使用 type=bool
是无法实现的,而需要传入一个 callable
的对象,在其中编写将字符串转换为布尔值的逻辑。
在数据分析领域,Pandas
是最受欢迎的 Python 库之一。然而,许多数据分析任务可以利用人工智能模型进行自动化。PandasAI
库为流行的数据分析和处理工具 Pandas 添加了生成式人工智能功能,你可以与 DataFrame
进行对话,并得到想要的数据分析结果。
本文使用 Streamlit
构建了一个在线应用,用户可以上传 Excel/CSV 数据,在输入想要执行的数据分析任务后,便可得到图表等结果,以及生成该结果的相应代码。
假如我们已经在 Jupyter
中编写了一些代码,但在计算后发现忘记将结果赋值了。一般在这种情况下,我们会再次执行该单元并生成结果完成赋值。
那么如何不重新运行而直接使用结果呢?
许多大模型都提供了在线 API 接口服务,我们可以在 Python 中调用它们。本文使用 openai
、chatllm
、dashscope
等包实现了对 OpenAI、讯飞星火、智谱 AI、百度、阿里通义千问的调用。用户只需在本地用 .env
文件存储 API Key 即可快速调用这些大模型。