arayabrain / barebone-studio

pipeline tool
GNU General Public License v3.0
1 stars 3 forks source link

OptiNiSt Onboarding #356

Closed itutu-tienday closed 2 days ago

itutu-tienday commented 2 weeks ago
tsuchiyama-araya commented 2 weeks ago

optinist-for-serverの環境構築を進めています。 python run_expdb_batch.py -o 1 を実行した時には、終了するまで結構時間がかかっています。 (裏側で動いているかは分かりません。)

Screenshot 2024-06-18 at 18 06 54
tsuchiyama-araya commented 1 week ago
import plotly.express as px
import plotly.io as pio
import os

class KaleidoTest:
    def __init__(self, data, columns, file_name):
        self.data = data
        self.columns = columns
        self.file_name = file_name

    def join_filepath(self, paths):
        return os.path.join(*paths)

    def save_thumbnail(self, plot_file):
        # Placeholder function for saving a thumbnail
        print(f"Thumbnail saved for {plot_file}")

    def generate_plots(self, output_dir):
        for i in range(len(self.data)):
            fig = px.line(y=self.data[i], x=self.columns)
            plot_file = self.join_filepath([output_dir, f"{self.file_name}_{i}.png"])
            pio.write_image(fig, plot_file)
            self.save_thumbnail(plot_file)
            print(f"Plot saved to {plot_file}")

if __name__ == "__main__":
    data = [[1, 3, 2], [2, 4, 5], [5, 3, 6], [7,6,5],[4,2,3],[1,1,1],[8,9,7],[2,4,5]]
    columns = [1, 2, 3]
    file_name = "plot"
    output_dir = "/app/output"

    os.makedirs(output_dir, exist_ok=True)

    test = KaleidoTest(data, columns, file_name)
    test.generate_plots(output_dir)

上記のテストコードで試しましたが、問題なく動きました。 そのため、Matと同じファイルを使うようにするテストをやると、止まっているところを特定する

emuemuJP commented 1 week ago

@tsuchiyama-araya ありがとうございます。TuningCurveの7でいつも止まっていたと思うのでそこでどのようなデータが使われていて、他とどう違うかを共有してもらいたいです。

tsuchiyama-araya commented 1 week ago
Screenshot 2024-06-25 at 15 17 45

7までのデータを確認すると、変なデータが入っていないので、 データに関しての問題は怪しくなってきました。

itutu-tienday commented 1 week ago

@tsuchiyama-araya まず確認が必要な事項は、処理実行が停止している箇所の確定(探索可能なところまでpythonコードをjumpして調査)ではないでしょうか。 ※データの確認も必要ですが、コードの停止位置の詳細を特定後、その他周辺調査を行う形が、調査がスムーズではないかと考えます。

tsuchiyama-araya commented 1 week ago

@itutu-tienday コメントありがとうございます。 停止場所はline.pyにある関数のsave_plotのwrite_imageが実行される時ですね。

ただ、7回目から停止しています。 こちらは回答になっていますでしょうか?

itutu-tienday commented 1 week ago

@tsuchiyama-araya

停止場所はline.pyにある関数のsave_plotのwrite_imageが実行される時ですね。

上記は、先日 共有済みの情報ではありませんでしょうか? (新規情報でしょうか)

(探索可能なところまでpythonコードをjumpして調査)

上記は、以下のように、vscodeなどで pip module 内のコードを探索することを指しています。

image

tsuchiyama-araya commented 1 week ago

先日共有した情報と同じです。 なるほど、共有ありがとうございます。

そちらで止まっていることであっています。

itutu-tienday commented 1 week ago

対象ファイル (/site-packages/plotly/io/_kaleido.py) 内の、どの位置で停止しているかは、確認済みでしょうか

tsuchiyama-araya commented 1 week ago

それを確認するために、出力するようにPrintを入れましたが、表示はされなかったです。

itutu-tienday commented 1 week ago

それを確認するために、出力するようにPrintを入れましたが、表示はされなかったです。

そうですか、ちょっと原因は不明ですが、そうであれば以下のような対応でしょうか

  1. ログをファイル出力
  2. debugger で step実行
  3. また確認しているファイルが正しいかを再確認する(printが不可であれば、例えばあえてエラーをraiseするコードを追加するなど)
tsuchiyama-araya commented 1 week ago

テストに同じデータを試しましたが、止まりました! これはデータの問題かと思います。

また、次はDebuggerなども利用して、Debugをしてみます。

Screenshot 2024-06-25 at 23 19 48 Screenshot 2024-06-25 at 23 19 13
tsuchiyama-araya commented 1 week ago

7行目のデータに問題があるかと思いましたが、試しに成功している 5行目と6行目のデータを7行目に入れてみたところ、それでも処理が停止します。

したがって、データ自体の問題ではなく、7行目を処理する際に 何か問題が発生している可能性があります。データ関連の問題ではなさそうです。