Lobe에서 마크업 추출 결과

이른바 Lobe


마이크로소프트가 갑자기 10월에 공개한 앱Lobe이 있다.

지금은 Image Classification만 지원하지만, Lobe에서 개편되면 ResNet-50 V2MobileNet V2에서 모델 학습을 할 수 있다.그리고 여러 가지 형식으로 배운 모델을 도출할 수 있다.CodeML, Tensorflow, ONX 등이 광범위하게 대응한다.대단하다

Lobe에서 따라하기는 쉬워요.


이런 Lobe이지만 제가 가장 추천하는 포인트는 해시태그 패러디가 간단하다는 것입니다.

이게 왜 포켓몬스터의 우바와 누오가 분류되는 걸까(왜?)탭을 흔들려면 누르십시오.키보드 입력은 말할 것도 없이 보충이 잘 되어 매우 가볍다.enter를 누르면 아래 그림이 제거됩니다.
라벨을 재할당할 때마다 트레인 모델들이 주행하기 때문에 대량 변경되면 다소간 쌓이는 행위가 있지만, 최근 버전은 비교적 안정적이다.

Lobe에서 시뮬레이션한 결과를 다른 곳에서 사용하려고 합니다.


그럼 이 편리한 라벨 개편 결과 다른 것도 사용하고 싶으세요?물론 Lobe가 우리에게 공부를 해주기 때문에 그 모델을 내보내면 될 수도 있지만, 학습한 부분은 스스로 처리하는 경우도 많다.
하지만 모델을 내보낼 수는 있지만 내보낸 에뮬레이션 결과를 내보낼 수는 없습니다.비통한 소식.로베로 신나게 패러디하다가 이 사실을 알았을 때 무릎에서 떨어졌어요.
어쨌든 데이터를 저장할 곳을 찾아야 한다.어차피 Electron이니까, 나는 어떤 qlite 같은 것이 있을 거라고 생각해서 그것을 찾는 여정에 올랐다.

Lobe에서 데이터를 저장하는 sqlite 찾기


Lobe는 Reddit에서 정식으로 들을 수 있습니다!이런 자리를 마련해 주신 Lobe 공식은 일반인들에게 많은 답변을 해주셨습니다.누군가가 여기서 아주 좋은 문제를 제기했다.

Where does Lobe stores data and can you change it?
나는 나와 똑같은 고민을 안고 고개를 100번 눌렀다.
그리고 이 답장이 돌아왔습니다.

Thanks for the feedback!
Right now Lobe keeps all your data in the Application Data location, so for Windows that is %appdata%\lobe and for Mac it is ~/Library/Application Support/lobe.
아이고, 금방 알게 돼서 다행이다.따라서 ↑의 위치는 목적이 있는 sqlite인 것 같습니다.

Pandas로 확장


장소를 알면 나중에python에 맡겨서 같이 가자.실제로 읽어본 코드는 다음과 같은 느낌입니다.
import pandas as pd
import sqlite3

# Read sqlite query results into a pandas DataFrame
dir = "/Users/{user_name}/Library/Application Support/Lobe/projects/9bc85ec7e2b24b16b6f243fb3c1c0121"
con = sqlite3.connect(f"{dir}/db.sqlite")
df = pd.read_sql_query("SELECT * from data_items", con)

데이터 구조는 이렇다.이미지에서 hash name 차인 것 같은데.어느 그림에 어떤 탭이 분배되었는지 example입니다아이디가 일치하는 걸 보면 갈 수 있을 것 같아요.

그림% 1개의 캡션을 편집했습니다.

# ラベル列を作る
label_dict = (df.query("type == 'text'")[["item", "example_id"]]
.set_index("example_id")["item"]).to_dict()

# 画像だけ抜き出す
image_df = df.query("type=='image'")
# ラベルを振る
image_df["label"] = image_df["example_id"].map(label_dict)
image_df["img_path"] = image_df["hash"].apply(lambda x: f"{dir}/data/blobs/{x}")

각 태그에 해당하는 디렉토리를 나열합니다.


이렇게 되면 각 이미지에 레이블과 이미지 경로가 지정됩니다.그리고 삶든 굽든 케라스 같은 자주 사용하는 형식으로 말하면 그림마다 라벨이 다른 디렉터리가 있을 것 같아서 이렇게 하겠습니다.
import os
import shutil

os.makedirs("path/to/data/annotated/ヌオー")
os.makedirs("path/to/data/annotated/ウパー")

# image_dfに従って画像を格納する
image_df.apply(lambda x: shutil.copy(x["img_path"], f"path/to/data/annotated/{x['label']}/{x['hash']}.jpg"), axis=1)

Lobe는 편성이 용이하고 출력도 비교적 간단하다


따라서 로브에서 패러디한 결과를 다른 곳에서 사용하는 방법을 구체적인 예와 함께 소개한다.누구한테 도움이 됐으면 좋겠어요.

좋은 웹페이지 즐겨찾기