日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一只能看懂表格图片的数据助手

發布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一只能看懂表格图片的数据助手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何讓數據助手讀懂你的星球數據?

怎么像數據庫查詢一樣精準獲取答案?

想不想一鍵上傳,不用標注數據就可以后臺基于模板快速訓練其他表格圖片?

本項目通過一份簡單的星球數據, 給你一份輕松數據查詢的實現方法!!!





github地址: Paddle_Table_Image_Reader

B站視頻體驗如下:https://www.bilibili.com/video/BV1B64y1i7GM

一、項目背景

本項目是參加【AI創造營 :Metaverse啟動機之重構現世】的作品,PaddlePaddle 聯合開源聊天機器人框架 Wechaty 和設計師社區 MixLab 帶來炫酷科幻創意賽,并由未來事務管理局作為媒體支持,以期為AI算法工程師拓展Conversational AI 應用場景,為 Chatbot 開發者提供AI技術支持平臺,為MixLab設計師探索創新構想落地途徑。

本項目主要功能是,上傳一張表格數據圖片,目前暫只支持單表, 通過PP-Structure解析表格模板,提取表格要素信息,再送入到Text2SQL進行訓練,最后就可以基于數據庫用文本語言的方式查詢到自己想要的信息了。

本項目主要挑戰是PaddleOCR會有識別上的準確率的問題,text2sql最大的問題就是數據制作麻煩,周期長,同時很難泛化到其他表格。所以本項目的一大創新點,就是編寫一個普遍適用的數據生成模板,當解析完成表格元素,自動生成標注數據(可能中間過程有輕微的文字改動,幾分鐘應該可以搞定),進行訓練生成模型,最終基本可以達到實時推理的效果。

本項目還支持一些附加功能, 比如支持數據導出, 查看圖片,動態顯示回復過程等等。

關于Wechaty的安裝和使用請參考我另一篇: 微信醫聊自動問答 WeChaty + PaddleHub


參考項目

PaddleNLP開源項目

PaddleOCR開源項目

二、關于WeChaty和PaddleHub

wechaty(https://github.com/wechaty/wechaty)是一款開源的微信SDK,它基于微信公開的API,對接口進行了一系列的封裝,提供一系列簡單的接口,然后開發者可以在其之上進行微信機器人的開發。

這里使用docker腳本可方便快速部署。請將your_token處替換成你的WeChaty token (puppet_padlocal_xxxxxxxxxxxxx)

export WECHATY_LOG="verbose" export WECHATY_PUPPET="wechaty-puppet-padlocal" export WECHATY_PUPPET_PADLOCAL_TOKEN="your_token"export WECHATY_PUPPET_SERVER_PORT="8080" export WECHATY_TOKEN="your_token"docker run -ti \--name wechaty_puppet_service_token_gateway \--rm \-e WECHATY_LOG \-e WECHATY_PUPPET \-e WECHATY_PUPPET_PADLOCAL_TOKEN \-e WECHATY_PUPPET_SERVER_PORT \-e WECHATY_TOKEN \-p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" \wechaty/wechaty:latest ~

運行成功后如下圖:

三、關于PaddleOCR

簡介

PaddleOCR旨在打造一套豐富、領先、且實用的OCR工具庫,助力使用者訓練出更好的模型,并應用落地。


特性

  • 超輕量級中文OCR模型,總模型僅8.6M
  • 單模型支持中英文數字組合識別、豎排文本識別、長文本識別
  • 檢測模型DB(4.1M)+識別模型CRNN(4.5M)
  • 實用通用中文OCR模型
  • 多種預測推理部署方案,包括服務部署和端側部署
  • 多種文本檢測訓練算法,EAST、DB、SAST
  • 多種文本識別訓練算法,Rosetta、CRNN、STAR-Net、RARE、SRN
  • 可運行于Linux、Windows、MacOS等多種系統

PP-Structure

所謂版面分析,就是對文檔圖片中的文本、表格、圖片、標題與列表區域進行分類。而表格識別則是基于版面分析出的表格類區域,進行文本的檢測與識別,同時還完整的提取表格結構信息,使得表格圖片變為可編輯的Excel文件。

版面分析的需求廣泛存在,例如金融行業中提取用戶申請資質時各類文件的信息;工業界對于實體制造情況的持續跟蹤,以及對于發票、各類表單的電子化存儲需求;對于個人而言,通過移動設備拍照提取表格或者快速將PDF文檔中的表格數據變為可編輯形式的需求也一直存在。而表格識別相比通用識別+后處理,可以節省更多成本。

不管是版面分析還是表格識別,現有方案可大致分為基于圖像處理的傳統方法和基于深度學習的方法。



請點擊此處查看本環境基本用法.

Please click here for more detailed instructions.

# 安裝PP-Structure !pip install "paddleocr>=2.2" !pip install -U https://paddleocr.bj.bcebos.com/whl/layoutparser-0.0.0-py3-none-any.whl !pip install beautifulsoup4

示例圖片:

# 表格元素文本識別 !paddleocr --image_dir=/home/aistudio/work/sources/example_table.jpg --type=structure # 解析獲取的html數據 from bs4 import BeautifulSoup import re import json import pandas as pdwith open('/home/aistudio/work/sources/sample.html') as file_obj:html_doc = file_obj.read() soup = BeautifulSoup(html_doc, 'html.parser') tb = soup.findAll('table')[0] columns = [] #表頭 for td in tb.thead.findAll('tr')[0].findAll("td"):tmp = td.get_text().replace(" ", "")tmp = re.sub(u"\\(.*?)|\\{.*?}|\\[.*?]|\\【.*?】", "", tmp)columns.append(tmp) columns[0] = "星球"#列名 rows_content = [] pks = [] for row in tb.tbody.findAll('tr'):cells = row.findAll('td')row_content = []for k in range(len(cells)): if k > 0:row_content.append(float(cells[k].get_text().replace("°", "")))else:row_content.append(cells[k].get_text())pks.append(cells[k].get_text())rows_content.append(row_content)#寫入到pandas data_df = pd.DataFrame(rows_content, columns=columns) data_df.head <bound method NDFrame.head of 星球 與太陽的平均距離 質量 體積 軌道傾角 軌道偏心率 0 水星 0.579 0.0500 0.056 7.00 0.206 1 金星 1.082 0.8200 0.856 3.40 0.007 2 地球 1.496 1.0000 1.000 0.00 0.017 3 火星 2.279 0.1100 0.150 1.90 0.093 4 木星 778.000 317.9400 1316.000 13.00 0.048 5 土星 14.270 95.1800 745.000 2.59 0.055 6 天王星 28.700 14.6300 65.200 0.80 0.051 7 海王星 44.960 17.2200 57.100 18.00 0.006 8 只王星 59.460 0.0024 0.009 17.10 0.256>

四、基于Pandas數據分析

#描述統計 data_df.describe() 與太陽的平均距離質量體積軌道傾角軌道偏心率countmeanstdmin25%50%75%max
9.0000009.0000009.0000009.0000009.000000
103.42511149.661378242.8190007.0877780.082111
253.871614105.155276469.5402817.1133570.089614
0.5790000.0024000.0090000.0000000.006000
1.4960000.1100000.1500001.9000000.017000
14.2700001.0000001.0000003.4000000.051000
44.96000017.22000065.20000013.0000000.093000
778.000000317.9400001316.00000018.0000000.256000
#設置中文字體 import matplotlib.pyplot as plt import matplotlib as mpl import matplotlib.font_manager as font_manager import numpy as np font = font_manager.FontProperties(fname='work/sources/simhei.ttf', size=16)# 設置matplotlib正常顯示中文和負號 mpl.rcParams['font.sans-serif']=['SimHei'] mpl.rcParams['axes.unicode_minus']=False # 質量柱形圖 plt.figure(figsize=(10, 6), dpi=80) plt.bar(data_df["星球"], data_df["質量"], width=0.5) plt.title('星球質量分布', fontproperties=font) plt.xlabel('星球', fontproperties=font) plt.ylabel('質量', fontproperties=font) plt.xticks(data_df["星球"], fontproperties=font) plt.savefig("bar.jpg") plt.show() /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/font_manager.py:1331: UserWarning: findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans(prop.get_family(), self.defaultFamily[fontext]))

# 體積餅狀圖 plt.figure(figsize=(10, 6), dpi=80) explode = np.linspace(0, 0.1, len(data_df["星球"])) plt.pie(data_df["體積"], explode=explode, labels=data_df["星球"], autopct='%1.1f', shadow=False, startangle=-45, textprops={'fontproperties':font}) plt.title("星球體積分布", fontproperties=font) plt.legend(loc='right', bbox_to_anchor=[0.75, 0.4, 0.5, 0.5], prop=font) plt.show()

#質量和體積的線性擬合 from scipy.stats import linregress slope,intercept,r,p,std_err=linregress(data_df["質量"], data_df["體積"]) plt.scatter(data_df["質量"], data_df["體積"]) exp=data_df["質量"]*slope+intercept plt.plot(data_df["質量"], exp, color="red") plt.title(f'y={slope}*x+{intercept}') plt.xticks(data_df["質量"], rotation=90) plt.tight_layout() plt.savefig('./trend.jpg') plt.show() /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/cbook/__init__.py:2064: FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version. Convert to a numpy array before indexing instead.x[:, None] /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/axes/_base.py:248: FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version. Convert to a numpy array before indexing instead.x = x[:, np.newaxis] /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/axes/_base.py:250: FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version. Convert to a numpy array before indexing instead.y = y[:, np.newaxis] /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/font_manager.py:1331: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans(prop.get_family(), self.defaultFamily[fontext]))

#導出csv data_df.to_csv("data.csv")

五、關于TEXT2SQL語義解析任務

語義解析是一種交互式分析技術,其將用戶輸入的自然語言表述轉成可操作執行的語義表示形式,如邏輯表達式(如一階邏輯表示,lambda表示等)、編程語言(如SQL、python等)、數學公式等。

Text2SQL 是語義解析技術中的一類任務,讓機器自動將用戶輸入的自然語言問題轉成可與數據庫交互的 SQL 查詢語言,實現基于數據庫的自動問答能力。

RAT-SQL模型介紹

RATSQL論文于2019年11月首次發布在arXiv,最近(2020年5月)重新修改提交。算法目前在Spider榜單上最高準確率為65.6%。

論文首先就Schema Encoding和Schema Linking進行了介紹。Schema Encoding顧名思義就是對表結構(表名、列名、列類型、主鍵、外鍵等等)進行編碼,以便后續模型訓練使用。Schema Linking則是要把Question中表述的內容與具體的表名和列名對齊。而這件事并不容易,文中舉例如下,Question中提到的model應該是“car_names”這張表里的model,而不是“model_list”表里的model。

要提升Schema Linking的準確率,必須將表結構(schema)和question中的信息同時考慮。但此前的工作(GNN encoder[2])在encoding時只考慮的schema,未考慮到question中所包含的上下文信息。同時GNN-based的encoding方式,使得關系表示局限于預先定義的graph edges中,限制了模型的表示能力。

RATSQL使用了relation-aware self-attention,同時把顯式關系(schema)和隱式關系(question和schema之間的linking)都考慮在encoding中,完善了模型的表示能力。



#安裝 # !unzip ~/data/data103402/Text2SQL-BASELINE.zip -d ./ !pip install -r Text2SQL-BASELINE/requirements.txt %cd ~/Text2SQL-BASELINE/ERNIE !python setup.py develop # %cd ~/Text2SQL-BASELINE/data # !bash download_ernie1.0.sh # !bash download_trained_model.sh #生成db_schema.json以及db_content.json !python ~/work/sources/create_dbjson.py created schema: ['星球', '與太陽的平均距離', '質量', '體積', '軌道傾角', '軌道偏心率'] #生成訓練數據 !python ~/work/sources/create_list.py #若遇到這個錯誤, 請執行下面命令覆蓋 # FileNotFoundError: [Errno 2] No such file or directory: ‘data/my_data/preproc/label_vocabs/grammar.asdl’ !cp /home/aistudio/my_data.jsonnet /home/aistudio/Text2SQL-BASELINE/conf/my_data.jsonnet !cp /home/aistudio/*sh /home/aistudio/Text2SQL-BASELINE/data/ #數據預處理 %cd ~/Text2SQL-BASELINE!bash ./run.sh ./script/schema_linking.py \-s data/db_schema.json \-c data/db_content.json \-o data/match_values_train.json \-f nl2sql \data/train.json --is-train!bash ./run.sh ./script/schema_linking.py \-s data/db_schema.json \-c data/db_content.json \-o data/match_values_dev.json \-f nl2sql \data/dev.json!bash ./run.sh ./script/text2sql_main.py \--mode preproc \--config conf/my_data.jsonnet \--data-root data/ \--is-cached false \--is-test false \--output data/preproc

初步訓練結果比較過擬合, 數據預測明顯偏向多樣本,泛化效果也不太好,做了一下優化:

  • 均衡數據樣本
  • 適當擴充了數據
  • 使用了官方預訓練模型, 因數據樣本太少,效果反而不好
  • #模型訓練 !bash ./train.sh 10 output/train --config conf/my_data.jsonnet --data-root data/preproc #模型推理 %cd ~/Text2SQL-BASELINE import json txt_list = ["能幫我查一下火星的質量嗎", "土星的體積是多少","你好啊我想要了解一下金星的體積和質量是多少","請幫我查下木星的資料","麻煩問下,水星和土星的軌道傾角分別是多少","哪些體積超過5啊","有沒有哪個星球質量低于1","你幫我查一下與太陽的的平均距離是1.496都是哪些星球啊","體積小于0.2或者質量小于0.1的星球是什么","有沒有哪個星球體積和質量都低于0.1","請問全部星球的體積是多少","請問全部星球的質量平均是多少","請問哪個星球的體積最大?","請問哪個星球的質量最小?","軌道偏心率大于0.2的星球一共有幾個","麻煩告訴我,有多少星球是體積超過1而且軌道偏心率小于0.05的?"]test_data = [] qidx = 1 for t in txt_list:test_data.append({"db_id": "single_table","question": t,"question_id": "qid" + str(qidx),"sql": "","query": ""})qidx += 1with open("data/test.json","w") as f:json.dump(test_data, f, ensure_ascii=False, indent=4)#生成 !bash ./run.sh ./script/schema_linking.py \-s data/db_schema.json \-c data/db_content.json \-o data/match_values_test.json \-f nl2sql \data/test.json#預處理 !bash ./run.sh ./script/text2sql_main.py \--mode preproc \--config conf/my_data.jsonnet \--data-root data/ \--is-cached false \--is-test true \--output data/preproc#推理 !bash ./run.sh ./script/text2sql_main.py --mode infer \--config conf/my_data.jsonnet \--data-root data/preproc \--test-set data/preproc/test.pkl \--init-model-param output/train/epoch037_acc37.0000/model.pdparams \--output output/result.json #查看推理結果 with open("output/result.json",'r') as load_f:load_dict = json.load(load_f)print(load_dict) [{'question': '能幫我查一下火星的質量嗎', 'sql': 'SELECT single_table.質量 FROM single_table WHERE single_table.星球 = "火星"'}, {'question': '土星的體積是多少', 'sql': 'SELECT single_table.體積 FROM single_table WHERE single_table.星球 = "土星"'}, {'question': '你好啊我想要了解一下金星的體積和質量是多少', 'sql': 'SELECT single_table.質量 FROM single_table WHERE single_table.質量 = "金星"'}, {'question': '請幫我查下木星的資料', 'sql': 'SELECT * FROM single_table WHERE single_table.星球 = "木星"'}, {'question': '麻煩問下,水星和土星的軌道傾角分別是多少', 'sql': 'SELECT single_table.軌道傾角 FROM single_table WHERE single_table.星球 = "水星" OR single_table.星球 = "土星"'}, {'question': '哪些體積超過5啊', 'sql': 'SELECT single_table.星球 FROM single_table WHERE single_table.體積 != "5"'}, {'question': '有沒有哪個星球質量低于1', 'sql': 'SELECT single_table.星球 FROM single_table WHERE single_table.星球 != "1"'}, {'question': '你幫我查一下與太陽的的平均距離是1.496都是哪些星球啊', 'sql': 'SELECT single_table.星球 FROM single_table WHERE single_table.與太陽的平均距離 = "1.496"'}, {'question': '體積小于0.2或者質量小于0.1的星球是什么', 'sql': 'SELECT Count(single_table.星球) FROM single_table WHERE single_table.體積 < "0.1"'}, {'question': '有沒有哪個星球體積和質量都低于0.1', 'sql': 'SELECT single_table.星球 FROM single_table WHERE single_table.體積 < "0.1"'}, {'question': '請問全部星球的體積是多少', 'sql': 'SELECT single_table.質量 FROM single_table WHERE single_table.質量 != "1"'}, {'question': '請問全部星球的質量平均是多少', 'sql': 'SELECT single_table.與太陽的平均距離 FROM single_table WHERE single_table.與太陽的平均距離 != "1"'}, {'question': '請問哪個星球的體積最大?', 'sql': 'SELECT single_table.星球 FROM single_table WHERE single_table.星球 != "1"'}, {'question': '請問哪個星球的質量最小?', 'sql': 'SELECT single_table.星球 FROM single_table WHERE single_table.星球 != "1"'}, {'question': '軌道偏心率大于0.2的星球一共有幾個', 'sql': 'SELECT Count(single_table.星球) FROM single_table WHERE single_table.軌道偏心率 != "0.2"'}, {'question': '麻煩告訴我,有多少星球是體積超過1而且軌道偏心率小于0.05的?', 'sql': 'SELECT single_table.星球 FROM single_table WHERE single_table.體積 < "0.05"'}]

    六、SQLITE數據庫搭建

    SQLite是一種嵌入式數據庫,它的數據庫就是一個文件。由于SQLite本身是C寫的,而且體積很小,所以,經常被集成到各種應用程序中,甚至在iOS和Android的App中都可以集成。
    Python就內置了SQLite3,所以,在Python中使用SQLite,不需要安裝任何東西,直接使用。
    在使用SQLite前,我們先要搞清楚幾個概念:
    表是數據庫中存放關系數據的集合,一個數據庫里面通常都包含多個表,比如學生的表,班級的表,學校的表,等等。表和表之間通過外鍵關聯。
    要操作關系數據庫,首先需要連接到數據庫,一個數據庫連接稱為Connection;
    連接到數據庫后,需要打開游標,稱之為Cursor,通過Cursor執行SQL語句,然后,獲得執行結果。
    Python定義了一套操作數據庫的API接口,任何數據庫要連接到Python,只需要提供符合Python標準的數據庫驅動即可。
    由于SQLite的驅動內置在Python標準庫中,所以我們可以直接來操作SQLite數據庫。

    !pip install sqlalchemy #初始化數據庫和創建表 from sqlalchemy import create_engine engine = create_engine('sqlite:///save_pandas.db', echo=True) sqlite_connection = engine.connect() data_df.to_sql("single_table", sqlite_connection, if_exists='replace') 2021-08-08 16:30:35,284 INFO sqlalchemy.engine.Engine PRAGMA main.table_info("single_table") 2021-08-08 16:30:35,296 INFO sqlalchemy.engine.Engine [raw sql] () 2021-08-08 16:30:35,298 INFO sqlalchemy.engine.Engine PRAGMA temp.table_info("single_table") 2021-08-08 16:30:35,298 INFO sqlalchemy.engine.Engine [raw sql] () 2021-08-08 16:30:35,301 INFO sqlalchemy.engine.Engine CREATE TABLE single_table ("index" BIGINT, "星球" TEXT, "與太陽的平均距離" FLOAT, "質量" FLOAT, "體積" FLOAT, "軌道傾角" FLOAT, "軌道偏心率" FLOAT )

    ?
    2021-08-08 16:30:35,302 INFO sqlalchemy.engine.Engine [no key 0.00055s] ()
    2021-08-08 16:30:35,307 INFO sqlalchemy.engine.Engine COMMIT
    2021-08-08 16:30:35,308 INFO sqlalchemy.engine.Engine CREATE INDEX ix_single_table_index ON single_table (“index”)
    2021-08-08 16:30:35,308 INFO sqlalchemy.engine.Engine [no key 0.00072s] ()
    2021-08-08 16:30:35,314 INFO sqlalchemy.engine.Engine COMMIT
    2021-08-08 16:30:35,316 INFO sqlalchemy.engine.Engine BEGIN (implicit)
    2021-08-08 16:30:35,318 INFO sqlalchemy.engine.Engine INSERT INTO single_table (“index”, “星球”, “與太陽的平均距離”, “質量”, “體積”, “軌道傾角”, “軌道偏心率”) VALUES (?, ?, ?, ?, ?, ?, ?)
    2021-08-08 16:30:35,318 INFO sqlalchemy.engine.Engine [generated in 0.00075s] ((0, ‘水星’, 0.579, 0.05, 0.056, 7.0, 0.206), (1, ‘金星’, 1.082, 0.82, 0.856, 3.4, 0.007), (2, ‘地球’, 1.496, 1.0, 1.0, 0.0, 0.017), (3, ‘火星’, 2.279, 0.11, 0.15, 1.9, 0.093), (4, ‘木星’, 778.0, 317.94, 1316.0, 13.0, 0.048), (5, ‘土星’, 14.27, 95.18, 745.0, 2.59, 0.055), (6, ‘天王星’, 28.7, 14.63, 65.2, 0.8, 0.051), (7, ‘海王星’, 44.96, 17.22, 57.1, 18.0, 0.006), (8, ‘只王星’, 59.46, 0.0024, 0.009, 17.1, 0.256))
    2021-08-08 16:30:35,320 INFO sqlalchemy.engine.Engine COMMIT

    #遍歷sql語句查詢 with open("output/result.json",'r') as load_f:load_dict = json.load(load_f)#print(load_dict)for i in (range(len(load_dict))):test_sql = load_dict[i]["sql"]cursor = engine.execute(test_sql) #執行sql語句sql_rs = []for row in cursor:tmp_rs = []for k in range(len(row)):tmp_rs.append(row[k])print(tmp_rs)sql_rs.append(tmp_rs)load_dict[i]["answer"] = sql_rs for i in range(len(load_dict)):print(i, "=====>", load_dict[i])

    七、生成結果圖片

    import PIL from PIL import ImageFont from PIL import Image from PIL import ImageDrawfor i in range(len(load_dict)):strs = "問題: " + load_dict[i]["question"] + "\n" + "SQL: " + load_dict[i]["sql"] + "\n" + "答案: " + str(load_dict[i]["answer"])imageFile = "/home/aistudio/work/sources/universe2.jpg"""#初始化參數x = 20 #橫坐標(左右)y = 20 #縱坐標(上下)word_size = 20 #文字大小word_css = "/home/aistudio/work/sources/simhei.ttf" font = ImageFont.truetype(word_css, word_size)#分割得到數組im1=Image.open(imageFile) #打開圖片draw = ImageDraw.Draw(im1)draw.text((x, y),strs,(255,255,0),font=font)im1.save("/home/aistudio/work/for_wechaty/text2sql_imgs/rsult_" + str(i)+ ".jpg") del drawim1.close() display(Image.open("/home/aistudio/work/for_wechaty/text2sql_imgs/rsult_0.jpg"))

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7EVsN4np-1636418645458)(output_36_0.png)]

    八、將上述代碼在本地部署(Wechaty +Paddle)

    九、總結

    • PP-Structure效果還是不錯的,準確度和泛化能力方面還是有不少提升空間。
    • 項目中還有很多不足, 端到端推理時間和過程比較繁雜,不易于落地部署,后期整體可以將這個pipeline好好優化。
    • 模板生成訓練數據還是比較有限,,沒能做到完全自動化生成,而且非常不均衡,需要優化。
    • 訓練的數據集比較有限,導致泛化能力比較差。
    • 時間有限,訓練得也不充分,調參也沒進一步優化, 后續好好改進。
    • 查詢結果應轉化為更易于人類理解的結果, 暫時沒有完善!

    **~~~~~~~~~~如果喜歡,請幫我star, fork, 關注, 一鍵三連!!!**

    關于作者

    PaddlePaddle開發愛好者

    我在AI Studio上獲得鉆石等級,點亮10個徽章,來互關呀~ https://aistudio.baidu.com/aistudio/personalcenter/thirdview/89442
    ay(Image.open("/home/aistudio/work/for_wechaty/text2sql_imgs/rsult_0.jpg"))

    [外鏈圖片轉存中...(img-7EVsN4np-1636418645458)]## 八、將上述代碼在本地部署(Wechaty +Paddle)[外鏈圖片轉存中...(img-iEGwL4Nq-1636418645459)][外鏈圖片轉存中...(img-qOSWzoZC-1636418645460)]## 九、總結* PP-Structure效果還是不錯的,準確度和泛化能力方面還是有不少提升空間。 * 項目中還有很多不足, 端到端推理時間和過程比較繁雜,不易于落地部署,后期整體可以將這個pipeline好好優化。 * 模板生成訓練數據還是比較有限,,沒能做到完全自動化生成,而且非常不均衡,需要優化。 * 訓練的數據集比較有限,導致泛化能力比較差。 * 時間有限,訓練得也不充分,調參也沒進一步優化, 后續好好改進。 * 查詢結果應轉化為更易于人類理解的結果, 暫時沒有完善!**~~~~~~~~~~如果喜歡,請幫我star, fork, 關注, 一鍵三連!!!****關于作者**PaddlePaddle開發愛好者我在AI Studio上獲得鉆石等級,點亮10個徽章,來互關呀~ https://aistudio.baidu.com/aistudio/personalcenter/thirdview/89442

    總結

    以上是生活随笔為你收集整理的一只能看懂表格图片的数据助手的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。