OFA数独解决方案-large

我要开发同款
匿名用户2024年07月31日
37阅读
所属分类ai、ofa、pytorch、arxiv:2202.03052、ICML2022、M6、OFA、Alibaba、Acc@0.5、multi-modal
开源地址https://modelscope.cn/models/iic/ofa_sudoku_kaggle_large
授权协议Apache License 2.0

作品详情

OFA-sudoku 解决方案

数独是什么?

数独是源自18世纪瑞士的一种数学游戏。是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。
数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。

快速玩起来

玩转OFA只需区区以下数行代码,就是如此轻松!如果你觉得还不够方便,请点击右上角Notebook按钮,我们为你提供了配备好的环境(可选CPU/GPU),你只需要在notebook里输入提供的代码,就可以把OFA玩起来了!

数独谜题

数独结果

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.outputs import OutputKeys
ofa_pipe = pipeline(
    Tasks.sudoku,
    model='damo/ofa_sudoku_kaggle_large'
)
# 有效数字为1-9,要求解的数独位置采用0来初始化输入
# 列与列之间使用` : `分隔符,行与行之间使用` | `分隔符
text = '5 : 3 : 0 : 0 : 7 : 0 : 0 : 0 : 0 | \
        6 : 0 : 0 : 1 : 9 : 5 : 0 : 0 : 0 | \
        0 : 9 : 8 : 0 : 0 : 0 : 0 : 6 : 0 | \
        8 : 0 : 0 : 0 : 6 : 0 : 0 : 0 : 3 | \
        4 : 0 : 0 : 8 : 0 : 3 : 0 : 0 : 1 | \
        7 : 0 : 0 : 0 : 2 : 0 : 0 : 0 : 6 | \
        0 : 6 : 0 : 0 : 0 : 0 : 2 : 8 : 0 | \
        0 : 0 : 0 : 4 : 1 : 9 : 0 : 0 : 5 | \
        0 : 0 : 0 : 0 : 8 : 0 : 0 : 7 : 9'
result = ofa_pipe(text)
print(result[OutputKeys.TEXT])


OFA-sudoku 模型效果

ModelParamsAccurate
sudoku-netv230M98.21
OFABase180M97.92
OFALarge470M99.81


OFA是什么?

OFA(One-For-All)是通用多模态预训练模型,使用简单的序列到序列的学习框架统一模态(跨模态、视觉、语言等模态)和任务(如图片生成、视觉定位、图片描述、图片分类、文本生成等),详见我们发表于ICML 2022的论文:OFA: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework,以及我们的官方Github仓库https://github.com/OFA-Sys/OFA




Github  |  Paper   |  Blog



OFA模型规模:

ModelParams-enParams-zhBackboneHidden sizeIntermediate sizeNum. of headsEnc layersDec layers
OFATiny33M-ResNet502561024444
OFAMedium93M-ResNet1015122048844
OFABase180M160MResNet10176830721266
OFALarge470M440MResNet15210244096161212
OFAHuge930M-ResNet15212805120162412


模型训练流程

训练数据介绍

本模型训练数据集是kaggle的sudoku数据集。

训练流程

finetune能力请参考OFA Tutorial 1.4节。

模型局限性以及可能的偏差

训练数据集自身有局限,有可能产生一些偏差,请用户自行评测后决定如何使用。

相关论文以及引用信息

如果你觉得OFA好用,喜欢我们的工作,欢迎引用:

@article{wang2022ofa,
  author    = {Peng Wang and
               An Yang and
               Rui Men and
               Junyang Lin and
               Shuai Bai and
               Zhikang Li and
               Jianxin Ma and
               Chang Zhou and
               Jingren Zhou and
               Hongxia Yang},
  title     = {OFA: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence
               Learning Framework},
  journal   = {CoRR},
  volume    = {abs/2202.03052},
  year      = {2022}
}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论