import{s as Qe,o as We,n as Ke}from"../chunks/scheduler.bdbef820.js";import{S as Ze,i as Je,g as s,s as n,r as c,A as Xe,h as i,f as r,c as a,j as U,u as g,x as p,k as V,y as m,a as t,v as h,d as u,t as _,w as b}from"../chunks/index.33f81d56.js";import{T as eo}from"../chunks/Tip.34194030.js";import{D as ne}from"../chunks/Docstring.64554317.js";import{H as re,E as oo}from"../chunks/EditOnGithub.a9246e21.js";function ro(ae){let l,T=`이 모델은 유지 보수 모드로만 운영되며, 코드를 변경하는 새로운 PR(Pull Request)은 받지 않습니다.
이 모델을 실행하는 데 문제가 발생한다면, 이 모델을 지원하는 마지막 버전인 v4.40.2를 다시 설치해 주세요. 다음 명령어를 실행하여 재설치할 수 있습니다: <code>pip install -U transformers==4.40.2</code>.`;return{c(){l=s("p"),l.innerHTML=T},l(v){l=i(v,"P",{"data-svelte-h":!0}),p(l)!=="svelte-10i46uj"&&(l.innerHTML=T)},m(v,B){t(v,l,B)},p:Ke,d(v){v&&r(l)}}}function to(ae){let l,T,v,B,w,se,G,ie,L,me,k,Fe='Graphormer 모델은 Chengxuan Ying, Tianle Cai, Shengjie Luo, Shuxin Zheng, Guolin Ke, Di He, Yanming Shen, Tie-Yan Liu가 제안한 <a href="https://arxiv.org/abs/2106.05234" rel="nofollow">트랜스포머가 그래프 표현에 있어서 정말 약할까?</a> 라는 논문에서 소개되었습니다. Graphormer는 그래프 트랜스포머 모델입니다. 텍스트 시퀀스 대신 그래프에서 계산을 수행할 수 있도록 수정되었으며, 전처리와 병합 과정에서 임베딩과 관심 특성을 생성한 후 수정된 어텐션을 사용합니다.',le,M,Pe="해당 논문의 초록입니다:",de,q,He="<em>트랜스포머 아키텍처는 자연어 처리와 컴퓨터 비전 등 많은 분야에서 지배적인 선택을 받고 있는 아키텍처 입니다. 그러나 그래프 수준 예측 리더보드 상에서는 주류 GNN 변형모델들에 비해 경쟁력 있는 성능을 달성하지 못했습니다. 따라서 트랜스포머가 그래프 표현 학습에서 어떻게 잘 수행될 수 있을지는 여전히 미스터리였습니다. 본 논문에서는 Graphormer를 제시함으로써 이 미스터리를 해결합니다. Graphormer는 표준 트랜스포머 아키텍처를 기반으로 구축되었으며, 특히 최근의 OpenGraphBenchmark Large-Scale Challenge(OGB-LSC)의 광범위한 그래프 표현 학습 작업에서 탁월한 결과를 얻을 수 있었습니다. 그래프에서 트랜스포머를 활용하는데 핵심은 그래프의 구조적 정보를 모델에 효과적으로 인코딩하는 것입니다. 이를 위해 우리는 Graphormer가 그래프 구조 데이터를 더 잘 모델링할 수 있도록 돕는 몇 가지 간단하면서도 효과적인 구조적 인코딩 방법을 제안합니다. 또한, 우리는 Graphormer의 표현을 수학적으로 특성화하고, 그래프의 구조적 정보를 인코딩하는 우리의 방식으로 많은 인기 있는 GNN 변형모델들이 Graphormer의 특수한 경우로 포함될 수 있음을 보여줍니다.</em>",pe,N,De='이 모델은 <a href="https://huggingface.co/clefourrier" rel="nofollow">clefourrier</a>가 기여했습니다. 원본 코드는 <a href="https://github.com/microsoft/Graphormer" rel="nofollow">이곳</a>에서 확인할 수 있습니다.',fe,z,ce,F,Ee="이 모델은 큰 그래프(100개 이상의 노드개수/엣지개수)에서는 메모리 사용량이 폭발적으로 증가하므로 잘 작동하지 않습니다. 대안으로 배치 크기를 줄이거나, RAM을 늘리거나 또는 algos_graphormer.pyx 파일의 <code>UNREACHABLE_NODE_DISTANCE</code> 매개변수를 줄이는 방법도 있지만, 700개 이상의 노드개수/엣지개수를 처리하기에는 여전히 어려울 것입니다.",ge,P,Se="이 모델은 토크나이저를 사용하지 않고, 대신 훈련 중에 특별한 콜레이터(collator)를 사용합니다.",he,H,ue,$,D,ye,Y,Ie=`This is the configuration class to store the configuration of a <a href="/docs/transformers/main/ko/model_doc/graphormer#transformers.GraphormerModel">~GraphormerModel</a>. It is used to instantiate an
Graphormer model according to the specified arguments, defining the model architecture. Instantiating a
configuration with the defaults will yield a similar configuration to that of the Graphormer
<a href="https://huggingface.co/graphormer-base-pcqm4mv1" rel="nofollow">graphormer-base-pcqm4mv1</a> architecture.`,Te,Q,Ae=`Configuration objects inherit from <a href="/docs/transformers/main/ko/main_classes/configuration#transformers.PretrainedConfig">PretrainedConfig</a> and can be used to control the model outputs. Read the
documentation from <a href="/docs/transformers/main/ko/main_classes/configuration#transformers.PretrainedConfig">PretrainedConfig</a> for more information.`,_e,E,be,f,S,we,W,Oe="The Graphormer model is a graph-encoder model.",Le,K,Re=`It goes from a graph to its representation. If you want to use the model for a downstream classification task, use
GraphormerForGraphClassification instead. For any other downstream task, feel free to add a new class, or combine
this model with a downstream model of your choice, following the example in GraphormerForGraphClassification.`,ke,Z,I,ve,A,$e,d,O,Me,J,je="This model can be used for graph-level classification or regression tasks.",qe,X,Ue="It can be trained on",Ne,ee,Ve=`<li>regression (by setting config.num_classes to 1); there should be one float-type label per graph</li> <li>one task classification (by setting config.num_classes to the number of classes); there should be one integer
label per graph</li> <li>binary multi-task classification (by setting config.num_classes to the number of labels); there should be a list
of integer labels for each graph.</li>`,ze,oe,R,xe,j,Ce,te,Ge;return w=new re({props:{title:"Graphormer",local:"graphormer",headingTag:"h1"}}),G=new eo({props:{warning:!0,$$slots:{default:[ro]},$$scope:{ctx:ae}}}),L=new re({props:{title:"개요",local:"overview",headingTag:"h2"}}),z=new re({props:{title:"사용 팁",local:"usage-tips",headingTag:"h2"}}),H=new re({props:{title:"GraphormerConfig",local:"transformers.GraphormerConfig ][ transformers.GraphormerConfig",headingTag:"h2"}}),D=new ne({props:{name:"class transformers.GraphormerConfig",anchor:"transformers.GraphormerConfig",parameters:[{name:"num_classes",val:": int = 1"},{name:"num_atoms",val:": int = 4608"},{name:"num_edges",val:": int = 1536"},{name:"num_in_degree",val:": int = 512"},{name:"num_out_degree",val:": int = 512"},{name:"num_spatial",val:": int = 512"},{name:"num_edge_dis",val:": int = 128"},{name:"multi_hop_max_dist",val:": int = 5"},{name:"spatial_pos_max",val:": int = 1024"},{name:"edge_type",val:": str = 'multi_hop'"},{name:"max_nodes",val:": int = 512"},{name:"share_input_output_embed",val:": bool = False"},{name:"num_hidden_layers",val:": int = 12"},{name:"embedding_dim",val:": int = 768"},{name:"ffn_embedding_dim",val:": int = 768"},{name:"num_attention_heads",val:": int = 32"},{name:"dropout",val:": float = 0.1"},{name:"attention_dropout",val:": float = 0.1"},{name:"activation_dropout",val:": float = 0.1"},{name:"layerdrop",val:": float = 0.0"},{name:"encoder_normalize_before",val:": bool = False"},{name:"pre_layernorm",val:": bool = False"},{name:"apply_graphormer_init",val:": bool = False"},{name:"activation_fn",val:": str = 'gelu'"},{name:"embed_scale",val:": float = None"},{name:"freeze_embeddings",val:": bool = False"},{name:"num_trans_layers_to_freeze",val:": int = 0"},{name:"traceable",val:": bool = False"},{name:"q_noise",val:": float = 0.0"},{name:"qn_block_size",val:": int = 8"},{name:"kdim",val:": int = None"},{name:"vdim",val:": int = None"},{name:"bias",val:": bool = True"},{name:"self_attention",val:": bool = True"},{name:"pad_token_id",val:" = 0"},{name:"bos_token_id",val:" = 1"},{name:"eos_token_id",val:" = 2"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.GraphormerConfig.num_classes",description:`<strong>num_classes</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014;
Number of target classes or labels, set to n for binary classification of n tasks.`,name:"num_classes"},{anchor:"transformers.GraphormerConfig.num_atoms",description:`<strong>num_atoms</strong> (<code>int</code>, <em>optional</em>, defaults to 512*9) &#x2014;
Number of node types in the graphs.`,name:"num_atoms"},{anchor:"transformers.GraphormerConfig.num_edges",description:`<strong>num_edges</strong> (<code>int</code>, <em>optional</em>, defaults to 512*3) &#x2014;
Number of edges types in the graph.`,name:"num_edges"},{anchor:"transformers.GraphormerConfig.num_in_degree",description:`<strong>num_in_degree</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
Number of in degrees types in the input graphs.`,name:"num_in_degree"},{anchor:"transformers.GraphormerConfig.num_out_degree",description:`<strong>num_out_degree</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
Number of out degrees types in the input graphs.`,name:"num_out_degree"},{anchor:"transformers.GraphormerConfig.num_edge_dis",description:`<strong>num_edge_dis</strong> (<code>int</code>, <em>optional</em>, defaults to 128) &#x2014;
Number of edge dis in the input graphs.`,name:"num_edge_dis"},{anchor:"transformers.GraphormerConfig.multi_hop_max_dist",description:`<strong>multi_hop_max_dist</strong> (<code>int</code>, <em>optional</em>, defaults to 20) &#x2014;
Maximum distance of multi hop edges between two nodes.`,name:"multi_hop_max_dist"},{anchor:"transformers.GraphormerConfig.spatial_pos_max",description:`<strong>spatial_pos_max</strong> (<code>int</code>, <em>optional</em>, defaults to 1024) &#x2014;
Maximum distance between nodes in the graph attention bias matrices, used during preprocessing and
collation.`,name:"spatial_pos_max"},{anchor:"transformers.GraphormerConfig.edge_type",description:`<strong>edge_type</strong> (<code>str</code>, <em>optional</em>, defaults to multihop) &#x2014;
Type of edge relation chosen.`,name:"edge_type"},{anchor:"transformers.GraphormerConfig.max_nodes",description:`<strong>max_nodes</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
Maximum number of nodes which can be parsed for the input graphs.`,name:"max_nodes"},{anchor:"transformers.GraphormerConfig.share_input_output_embed",description:`<strong>share_input_output_embed</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Shares the embedding layer between encoder and decoder - careful, True is not implemented.`,name:"share_input_output_embed"},{anchor:"transformers.GraphormerConfig.num_layers",description:`<strong>num_layers</strong> (<code>int</code>, <em>optional</em>, defaults to 12) &#x2014;
Number of layers.`,name:"num_layers"},{anchor:"transformers.GraphormerConfig.embedding_dim",description:`<strong>embedding_dim</strong> (<code>int</code>, <em>optional</em>, defaults to 768) &#x2014;
Dimension of the embedding layer in encoder.`,name:"embedding_dim"},{anchor:"transformers.GraphormerConfig.ffn_embedding_dim",description:`<strong>ffn_embedding_dim</strong> (<code>int</code>, <em>optional</em>, defaults to 768) &#x2014;
Dimension of the &#x201C;intermediate&#x201D; (often named feed-forward) layer in encoder.`,name:"ffn_embedding_dim"},{anchor:"transformers.GraphormerConfig.num_attention_heads",description:`<strong>num_attention_heads</strong> (<code>int</code>, <em>optional</em>, defaults to 32) &#x2014;
Number of attention heads in the encoder.`,name:"num_attention_heads"},{anchor:"transformers.GraphormerConfig.self_attention",description:`<strong>self_attention</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Model is self attentive (False not implemented).`,name:"self_attention"},{anchor:"transformers.GraphormerConfig.activation_function",description:`<strong>activation_function</strong> (<code>str</code> or <code>function</code>, <em>optional</em>, defaults to <code>&quot;gelu&quot;</code>) &#x2014;
The non-linear activation function (function or string) in the encoder and pooler. If string, <code>&quot;gelu&quot;</code>,
<code>&quot;relu&quot;</code>, <code>&quot;silu&quot;</code> and <code>&quot;gelu_new&quot;</code> are supported.`,name:"activation_function"},{anchor:"transformers.GraphormerConfig.dropout",description:`<strong>dropout</strong> (<code>float</code>, <em>optional</em>, defaults to 0.1) &#x2014;
The dropout probability for all fully connected layers in the embeddings, encoder, and pooler.`,name:"dropout"},{anchor:"transformers.GraphormerConfig.attention_dropout",description:`<strong>attention_dropout</strong> (<code>float</code>, <em>optional</em>, defaults to 0.1) &#x2014;
The dropout probability for the attention weights.`,name:"attention_dropout"},{anchor:"transformers.GraphormerConfig.activation_dropout",description:`<strong>activation_dropout</strong> (<code>float</code>, <em>optional</em>, defaults to 0.1) &#x2014;
The dropout probability for the activation of the linear transformer layer.`,name:"activation_dropout"},{anchor:"transformers.GraphormerConfig.layerdrop",description:`<strong>layerdrop</strong> (<code>float</code>, <em>optional</em>, defaults to 0.0) &#x2014;
The LayerDrop probability for the encoder. See the [LayerDrop paper](see <a href="https://arxiv.org/abs/1909.11556" rel="nofollow">https://arxiv.org/abs/1909.11556</a>)
for more details.`,name:"layerdrop"},{anchor:"transformers.GraphormerConfig.bias",description:`<strong>bias</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Uses bias in the attention module - unsupported at the moment.`,name:"bias"},{anchor:"transformers.GraphormerConfig.embed_scale(float,",description:`<strong>embed_scale(<code>float</code>,</strong> <em>optional</em>, defaults to None) &#x2014;
Scaling factor for the node embeddings.`,name:"embed_scale(float,"},{anchor:"transformers.GraphormerConfig.num_trans_layers_to_freeze",description:`<strong>num_trans_layers_to_freeze</strong> (<code>int</code>, <em>optional</em>, defaults to 0) &#x2014;
Number of transformer layers to freeze.`,name:"num_trans_layers_to_freeze"},{anchor:"transformers.GraphormerConfig.encoder_normalize_before",description:`<strong>encoder_normalize_before</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Normalize features before encoding the graph.`,name:"encoder_normalize_before"},{anchor:"transformers.GraphormerConfig.pre_layernorm",description:`<strong>pre_layernorm</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Apply layernorm before self attention and the feed forward network. Without this, post layernorm will be
used.`,name:"pre_layernorm"},{anchor:"transformers.GraphormerConfig.apply_graphormer_init",description:`<strong>apply_graphormer_init</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Apply a custom graphormer initialisation to the model before training.`,name:"apply_graphormer_init"},{anchor:"transformers.GraphormerConfig.freeze_embeddings",description:`<strong>freeze_embeddings</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Freeze the embedding layer, or train it along the model.`,name:"freeze_embeddings"},{anchor:"transformers.GraphormerConfig.encoder_normalize_before",description:`<strong>encoder_normalize_before</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Apply the layer norm before each encoder block.`,name:"encoder_normalize_before"},{anchor:"transformers.GraphormerConfig.q_noise",description:`<strong>q_noise</strong> (<code>float</code>, <em>optional</em>, defaults to 0.0) &#x2014;
Amount of quantization noise (see &#x201C;Training with Quantization Noise for Extreme Model Compression&#x201D;). (For
more detail, see fairseq&#x2019;s documentation on quant_noise).`,name:"q_noise"},{anchor:"transformers.GraphormerConfig.qn_block_size",description:`<strong>qn_block_size</strong> (<code>int</code>, <em>optional</em>, defaults to 8) &#x2014;
Size of the blocks for subsequent quantization with iPQ (see q_noise).`,name:"qn_block_size"},{anchor:"transformers.GraphormerConfig.kdim",description:`<strong>kdim</strong> (<code>int</code>, <em>optional</em>, defaults to None) &#x2014;
Dimension of the key in the attention, if different from the other values.`,name:"kdim"},{anchor:"transformers.GraphormerConfig.vdim",description:`<strong>vdim</strong> (<code>int</code>, <em>optional</em>, defaults to None) &#x2014;
Dimension of the value in the attention, if different from the other values.`,name:"vdim"},{anchor:"transformers.GraphormerConfig.use_cache",description:`<strong>use_cache</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not the model should return the last key/values attentions (not used by all models).`,name:"use_cache"},{anchor:"transformers.GraphormerConfig.traceable",description:`<strong>traceable</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Changes return value of the encoder&#x2019;s inner_state to stacked tensors.</p>
<p>Example &#x2014;`,name:"traceable"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/deprecated/graphormer/configuration_graphormer.py#L24"}}),E=new re({props:{title:"GraphormerModel",local:"transformers.GraphormerModel ][ transformers.GraphormerModel",headingTag:"h2"}}),S=new ne({props:{name:"class transformers.GraphormerModel",anchor:"transformers.GraphormerModel",parameters:[{name:"config",val:": GraphormerConfig"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/deprecated/graphormer/modeling_graphormer.py#L768"}}),I=new ne({props:{name:"forward",anchor:"transformers.GraphormerModel.forward",parameters:[{name:"input_nodes",val:": LongTensor"},{name:"input_edges",val:": LongTensor"},{name:"attn_bias",val:": Tensor"},{name:"in_degree",val:": LongTensor"},{name:"out_degree",val:": LongTensor"},{name:"spatial_pos",val:": LongTensor"},{name:"attn_edge_type",val:": LongTensor"},{name:"perturb",val:": Optional = None"},{name:"masked_tokens",val:": None = None"},{name:"return_dict",val:": Optional = None"},{name:"**unused",val:""}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/deprecated/graphormer/modeling_graphormer.py#L797"}}),A=new re({props:{title:"GraphormerForGraphClassification",local:"transformers.GraphormerForGraphClassification ][ transformers.GraphormerForGraphClassification",headingTag:"h2"}}),O=new ne({props:{name:"class transformers.GraphormerForGraphClassification",anchor:"transformers.GraphormerForGraphClassification",parameters:[{name:"config",val:": GraphormerConfig"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/deprecated/graphormer/modeling_graphormer.py#L839"}}),R=new ne({props:{name:"forward",anchor:"transformers.GraphormerForGraphClassification.forward",parameters:[{name:"input_nodes",val:": LongTensor"},{name:"input_edges",val:": LongTensor"},{name:"attn_bias",val:": Tensor"},{name:"in_degree",val:": LongTensor"},{name:"out_degree",val:": LongTensor"},{name:"spatial_pos",val:": LongTensor"},{name:"attn_edge_type",val:": LongTensor"},{name:"labels",val:": Optional = None"},{name:"return_dict",val:": Optional = None"},{name:"**unused",val:""}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/deprecated/graphormer/modeling_graphormer.py#L862"}}),j=new oo({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ko/model_doc/graphormer.md"}}),{c(){l=s("meta"),T=n(),v=s("p"),B=n(),c(w.$$.fragment),se=n(),c(G.$$.fragment),ie=n(),c(L.$$.fragment),me=n(),k=s("p"),k.innerHTML=Fe,le=n(),M=s("p"),M.textContent=Pe,de=n(),q=s("p"),q.innerHTML=He,pe=n(),N=s("p"),N.innerHTML=De,fe=n(),c(z.$$.fragment),ce=n(),F=s("p"),F.innerHTML=Ee,ge=n(),P=s("p"),P.textContent=Se,he=n(),c(H.$$.fragment),ue=n(),$=s("div"),c(D.$$.fragment),ye=n(),Y=s("p"),Y.innerHTML=Ie,Te=n(),Q=s("p"),Q.innerHTML=Ae,_e=n(),c(E.$$.fragment),be=n(),f=s("div"),c(S.$$.fragment),we=n(),W=s("p"),W.textContent=Oe,Le=n(),K=s("p"),K.textContent=Re,ke=n(),Z=s("div"),c(I.$$.fragment),ve=n(),c(A.$$.fragment),$e=n(),d=s("div"),c(O.$$.fragment),Me=n(),J=s("p"),J.textContent=je,qe=n(),X=s("p"),X.textContent=Ue,Ne=n(),ee=s("ul"),ee.innerHTML=Ve,ze=n(),oe=s("div"),c(R.$$.fragment),xe=n(),c(j.$$.fragment),Ce=n(),te=s("p"),this.h()},l(e){const o=Xe("svelte-u9bgzb",document.head);l=i(o,"META",{name:!0,content:!0}),o.forEach(r),T=a(e),v=i(e,"P",{}),U(v).forEach(r),B=a(e),g(w.$$.fragment,e),se=a(e),g(G.$$.fragment,e),ie=a(e),g(L.$$.fragment,e),me=a(e),k=i(e,"P",{"data-svelte-h":!0}),p(k)!=="svelte-t4u2q1"&&(k.innerHTML=Fe),le=a(e),M=i(e,"P",{"data-svelte-h":!0}),p(M)!=="svelte-un5jih"&&(M.textContent=Pe),de=a(e),q=i(e,"P",{"data-svelte-h":!0}),p(q)!=="svelte-1euz8us"&&(q.innerHTML=He),pe=a(e),N=i(e,"P",{"data-svelte-h":!0}),p(N)!=="svelte-kx0hbg"&&(N.innerHTML=De),fe=a(e),g(z.$$.fragment,e),ce=a(e),F=i(e,"P",{"data-svelte-h":!0}),p(F)!=="svelte-1oyep18"&&(F.innerHTML=Ee),ge=a(e),P=i(e,"P",{"data-svelte-h":!0}),p(P)!=="svelte-1hothcm"&&(P.textContent=Se),he=a(e),g(H.$$.fragment,e),ue=a(e),$=i(e,"DIV",{class:!0});var C=U($);g(D.$$.fragment,C),ye=a(C),Y=i(C,"P",{"data-svelte-h":!0}),p(Y)!=="svelte-dt8nct"&&(Y.innerHTML=Ie),Te=a(C),Q=i(C,"P",{"data-svelte-h":!0}),p(Q)!=="svelte-qr3t5r"&&(Q.innerHTML=Ae),C.forEach(r),_e=a(e),g(E.$$.fragment,e),be=a(e),f=i(e,"DIV",{class:!0});var y=U(f);g(S.$$.fragment,y),we=a(y),W=i(y,"P",{"data-svelte-h":!0}),p(W)!=="svelte-1h7pfe4"&&(W.textContent=Oe),Le=a(y),K=i(y,"P",{"data-svelte-h":!0}),p(K)!=="svelte-dkg3qc"&&(K.textContent=Re),ke=a(y),Z=i(y,"DIV",{class:!0});var Be=U(Z);g(I.$$.fragment,Be),Be.forEach(r),y.forEach(r),ve=a(e),g(A.$$.fragment,e),$e=a(e),d=i(e,"DIV",{class:!0});var x=U(d);g(O.$$.fragment,x),Me=a(x),J=i(x,"P",{"data-svelte-h":!0}),p(J)!=="svelte-1nkx1mp"&&(J.textContent=je),qe=a(x),X=i(x,"P",{"data-svelte-h":!0}),p(X)!=="svelte-16q1k4"&&(X.textContent=Ue),Ne=a(x),ee=i(x,"UL",{"data-svelte-h":!0}),p(ee)!=="svelte-7iqyu8"&&(ee.innerHTML=Ve),ze=a(x),oe=i(x,"DIV",{class:!0});var Ye=U(oe);g(R.$$.fragment,Ye),Ye.forEach(r),x.forEach(r),xe=a(e),g(j.$$.fragment,e),Ce=a(e),te=i(e,"P",{}),U(te).forEach(r),this.h()},h(){V(l,"name","hf:doc:metadata"),V(l,"content",no),V($,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),V(Z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),V(f,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),V(oe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),V(d,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,o){m(document.head,l),t(e,T,o),t(e,v,o),t(e,B,o),h(w,e,o),t(e,se,o),h(G,e,o),t(e,ie,o),h(L,e,o),t(e,me,o),t(e,k,o),t(e,le,o),t(e,M,o),t(e,de,o),t(e,q,o),t(e,pe,o),t(e,N,o),t(e,fe,o),h(z,e,o),t(e,ce,o),t(e,F,o),t(e,ge,o),t(e,P,o),t(e,he,o),h(H,e,o),t(e,ue,o),t(e,$,o),h(D,$,null),m($,ye),m($,Y),m($,Te),m($,Q),t(e,_e,o),h(E,e,o),t(e,be,o),t(e,f,o),h(S,f,null),m(f,we),m(f,W),m(f,Le),m(f,K),m(f,ke),m(f,Z),h(I,Z,null),t(e,ve,o),h(A,e,o),t(e,$e,o),t(e,d,o),h(O,d,null),m(d,Me),m(d,J),m(d,qe),m(d,X),m(d,Ne),m(d,ee),m(d,ze),m(d,oe),h(R,oe,null),t(e,xe,o),h(j,e,o),t(e,Ce,o),t(e,te,o),Ge=!0},p(e,[o]){const C={};o&2&&(C.$$scope={dirty:o,ctx:e}),G.$set(C)},i(e){Ge||(u(w.$$.fragment,e),u(G.$$.fragment,e),u(L.$$.fragment,e),u(z.$$.fragment,e),u(H.$$.fragment,e),u(D.$$.fragment,e),u(E.$$.fragment,e),u(S.$$.fragment,e),u(I.$$.fragment,e),u(A.$$.fragment,e),u(O.$$.fragment,e),u(R.$$.fragment,e),u(j.$$.fragment,e),Ge=!0)},o(e){_(w.$$.fragment,e),_(G.$$.fragment,e),_(L.$$.fragment,e),_(z.$$.fragment,e),_(H.$$.fragment,e),_(D.$$.fragment,e),_(E.$$.fragment,e),_(S.$$.fragment,e),_(I.$$.fragment,e),_(A.$$.fragment,e),_(O.$$.fragment,e),_(R.$$.fragment,e),_(j.$$.fragment,e),Ge=!1},d(e){e&&(r(T),r(v),r(B),r(se),r(ie),r(me),r(k),r(le),r(M),r(de),r(q),r(pe),r(N),r(fe),r(ce),r(F),r(ge),r(P),r(he),r(ue),r($),r(_e),r(be),r(f),r(ve),r($e),r(d),r(xe),r(Ce),r(te)),r(l),b(w,e),b(G,e),b(L,e),b(z,e),b(H,e),b(D),b(E,e),b(S),b(I),b(A,e),b(O),b(R),b(j,e)}}}const no='{"title":"Graphormer","local":"graphormer","sections":[{"title":"개요","local":"overview","sections":[],"depth":2},{"title":"사용 팁","local":"usage-tips","sections":[],"depth":2},{"title":"GraphormerConfig","local":"transformers.GraphormerConfig ][ transformers.GraphormerConfig","sections":[],"depth":2},{"title":"GraphormerModel","local":"transformers.GraphormerModel ][ transformers.GraphormerModel","sections":[],"depth":2},{"title":"GraphormerForGraphClassification","local":"transformers.GraphormerForGraphClassification ][ transformers.GraphormerForGraphClassification","sections":[],"depth":2}],"depth":1}';function ao(ae){return We(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class fo extends Ze{constructor(l){super(),Je(this,l,ao,to,Qe,{})}}export{fo as component};
