Raspberry Pi 托管 Python 应用程序,分段错误,但可以在我的 Linux PC 上运行

问题描述 投票:0回答:1

我正在编写一个用于抓取轮胎数据的 Python 脚本。但是,当我尝试在 Raspberry Pi 上托管脚本时,遇到了分段错误问题。

该脚本旨在比较多个来源的轮胎数据。该脚本在我的 Linux 笔记本电脑上运行没有问题,但当传输到 Raspberry Pi 时,它因分段错误而崩溃。

我尝试了几个调试步骤,包括检查兼容性、更新软件以及检查代码是否存在潜在问题。尽管做出了这些努力,问题仍然存在。

为了提供更多上下文,以下是脚本功能的简要概述:

  • 它从我的 Raspberry Pi 上的 CSV 文件(“data.csv”)读取数据。
  • 它根据轮胎尺寸、品牌和季节执行数据操作。
  • 它提取并比较来自 3 个网站的数据。
  • 它将合并的数据写入新的 CSV 文件(“ScrapedData.csv”)。

我怀疑该问题可能与 Raspberry Pi 上的内存使用或 Python 版本兼容性有关。

我正在使用 BS4(美丽汤 4)从网站上抓取数据。

#pip install -U FlagEmbedding

from FlagEmbedding import FlagModel

model = FlagModel('BAAI/bge-large-en', query_instruction_for_retrieval="Generate a representation for this sentence for retrieving related articles:")

def checkSim(sentence1, sentence2):
    embeddings_1 = model.encode(sentence1)
    embeddings_2 = model.encode(sentence2)

    similarity = embeddings_1 @ embeddings_2.T

    return similarity

这是我用于一些相似性检查的片段。也许这对于树莓派来说太重量级了?

我的主文件包含以下方法:(这是其工作原理的非常简化的版本)

DatasScrapeWebsite1(x)

DataScrapeWebsite2(x)

DataScrapeWebsite3(x)

ScrapeData():
for every row in ***.csv
 data1 = DataScrapeWebsite1(row)
 data2 = DataScrapeWebsite3(row)
 data3 = DataScrapeWebsite3(row)

combinedData = data1+data2+data3

writeDataInCSV(CombinedData)

任何关于在 Raspberry Pi 上调试 Python 脚本中的分段错误的见解、建议或指导将不胜感激。

提前感谢您的协助

python image-segmentation raspberry-pi4
1个回答
0
投票

解决方案: 我尝试使用https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 结果比 FlagEmbedding 模型好得多。它更轻、更精确且易于编译。

© www.soinside.com 2019 - 2024. All rights reserved.