8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

pydotplus.graphviz 与 tensorflow 的 plot_model 存在问题

NMR 2月前

67 0

我正在尝试使用 plot_model 函数和 TensorFlow 绘制我的模型并将其保存到 Ubuntu 22.04 上的文件中。Pycharm 2024.1.3。python 3.12。Tensorflow 2.16.1。我假设 Pydotplus 和 Graphviz 是

我正在尝试使用 TensorFlow 中的 plot_model 函数来绘制我的模型并将其保存到 Ubuntu 22.04 上的文件中。Pycharm 2024.1.3。python 3.12。Tensorflow 2.16.1。我假设 Pydotplus 和 Graphviz 已正确安装,或者我遗漏了某些内容。文件已创建,但已损坏(0 字节)并且无法打开。

脚本以错误结尾:回溯(最近一次调用最后一次):文件 \'/home/linuxpc/PycharmProjects/Semen_project/temp.py\',第 314 行,在 create_model(model_parameters=model_par)文件 \'/home/linuxpc/PycharmProjects/Semen_project/temp.py\',第 224 行,在 create_modeltf.keras.utils.plot_model(文件 \'/home/linuxpc/PycharmProjects/Semen_project/.venv/lib/python3.12/site-packages/keras/src/utils/model_visualization.py\',第 456 行,在 plot_modeldot.write(to_file,format=extension)文件\'/home/linuxpc/PycharmProjects/Semen_project/.venv/lib/python3.12/site-packages/pydotplus/graphviz.py\',第 1919 行,在 writefobj.write(self.create(prog, format))^^^^^^^^^^^^^^^^^^^^^^^^^^^File \'/home/linuxpc/PycharmProjects/Semen_project/.venv/lib/python3.12/site-packages/pydotplus/graphviz.py\',第 2031 行,在 createraise InvocationException(pydotplus.graphviz.InvocationException: 程序终止,状态为:-6。stderr 如下:在节点 716[0]dot 处失败:maze.c:311:chkSgraph:断言`np->cells[0]'失败

脚本的模型创建部分:gobal_input_layer = tf.keras.layers.Input(shape=layer_size[0]['1'][0])

"""Model_1 to detect fibers"""
for lnum, layer in enumerate(layer_size[0]):
    if lnum == 0:
        for vnum, val in enumerate(layer_size[0][layer]):
            if vnum == 0:
                layer = tf.keras.layers.Identity()(gobal_input_layer)
            else:
                layer = tf.keras.layers.Dense(val[0],
                                              activation="sigmoid")(layer)
                if len(val) == 2:
                    layer = tf.keras.layers.Dropout(val[1])(layer)

            output_layer = tf.keras.layers.Dense(2,
                                                 activation="sigmoid")(layer)
            intermediate = tf.keras.layers.Reshape((2, 1), input_shape=(1, 2))(output_layer)
            first_half = tf.keras.layers.Cropping1D(cropping=(0, 1))(intermediate)
            first_half = tf.keras.layers.Reshape((1,), input_shape=(1, 1))(first_half)

            second_half = tf.keras.layers.Cropping1D(cropping=(0, 1))(intermediate)
            second_half = tf.keras.layers.Reshape((1,), input_shape=(1, 1))(second_half)
    elif lnum == 1:
        for vnum, val in enumerate(layer_size[0][layer]):
            if vnum == 0:
                layer_2 = tf.keras.layers.Concatenate()([gobal_input_layer, second_half])

                layer_2 = tf.keras.layers.Identity()(layer_2)
            else:
                layer_2 = tf.keras.layers.Dense(val[0],
                                                activation="sigmoid")(layer_2)
                if len(val) == 2:
                    layer_2 = tf.keras.layers.Dropout(val[1])(layer_2)

            output_layer_2 = tf.keras.layers.Dense(2,
                                                   activation="sigmoid")(layer_2)
    else:
        raise ValueError(f"The length of layers is than 2")

outputs = tf.keras.layers.Concatenate()([output_layer_2, output_layer])
outputs = tf.keras.layers.Identity()(outputs)
model = tf.keras.Model(inputs=gobal_input_layer,
                       outputs=outputs)
model.name = model_parameters["model_name"]
return model

我尝试过 pydot、pydotplus 和 pydot-ng(从 pip 安装)——结果是一样的。Graphviz 可以通过 \'sudo apt install graphviz\' 或 \'pip install graphviz\' 安装。文件的扩展名无关紧要——我尝试过 jpg、png、pdf。安装 graphviz 后,PC 已重新启动。

Traceback 错误的最后一行没有给我任何信息,我陷入了困境。我发现 dot 出了问题,它生成了状态 [-6],但我不知道是什么问题。我猜是生成图像或/和将其写入文件时出了问题(因为崩溃后文件为空)。另一个想法是一个或多个层或模型本身无法转换为 dot。

有人能帮助我解决这个问题吗?或者建议我至少应该从哪里开始深入研究?我将不胜感激任何人提供的帮助。

帖子版权声明 1、本帖标题:pydotplus.graphviz 与 tensorflow 的 plot_model 存在问题
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由NMR在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 使用 Python 中的 Flet 时出现问题,我正在为 Android 平板电脑开发一款应用,在我的 PC 上,当我尝试 \'flet run\' 时一切正常,但对于 Android \'flet run --android -r\' 时我检查...

    使用 Python 中的 Flet 时出现问题,我正在为 Android 平板电脑开发一款应用程序,在我的 PC 上,当我尝试 \'flet run\' 时一切正常,但是对于 Android \'flet run --android -r\',当我从平板电脑检查时,对齐不起作用,动画没有按预期工作,有什么办法可以解决这个问题吗?

    项目链接: https://github.com/xelland042/flet_test

返回
作者最近主题: