blob: d606c09b8b2914df798412a15dd68a16a438e858 [file] [log] [blame]
/**
* Copyright (c) 2020 CEA LIST
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
*/
package org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Multihead Attention</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getEmbed_dim <em>Embed dim</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getNum_heads <em>Num heads</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getDropout <em>Dropout</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#isBias <em>Bias</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#isAdd_bias_kv <em>Add bias kv</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#isAdd_zero_attn <em>Add zero attn</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getKdim <em>Kdim</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getVdim <em>Vdim</em>}</li>
* </ul>
*
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention()
* @model
* @generated
*/
public interface MultiheadAttention extends Nonlinear_activations_weightedsumnonlinearity {
/**
* Returns the value of the '<em><b>Embed dim</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Embed dim</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Embed dim</em>' attribute.
* @see #setEmbed_dim(int)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Embed_dim()
* @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
* @generated
*/
int getEmbed_dim();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getEmbed_dim <em>Embed dim</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Embed dim</em>' attribute.
* @see #getEmbed_dim()
* @generated
*/
void setEmbed_dim(int value);
/**
* Returns the value of the '<em><b>Num heads</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Num heads</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Num heads</em>' attribute.
* @see #setNum_heads(int)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Num_heads()
* @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
* @generated
*/
int getNum_heads();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getNum_heads <em>Num heads</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Num heads</em>' attribute.
* @see #getNum_heads()
* @generated
*/
void setNum_heads(int value);
/**
* Returns the value of the '<em><b>Dropout</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Dropout</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Dropout</em>' attribute.
* @see #setDropout(double)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Dropout()
* @model dataType="org.eclipse.uml2.types.Real" ordered="false"
* @generated
*/
double getDropout();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getDropout <em>Dropout</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Dropout</em>' attribute.
* @see #getDropout()
* @generated
*/
void setDropout(double value);
/**
* Returns the value of the '<em><b>Bias</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Bias</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Bias</em>' attribute.
* @see #setBias(boolean)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Bias()
* @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
* @generated
*/
boolean isBias();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#isBias <em>Bias</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Bias</em>' attribute.
* @see #isBias()
* @generated
*/
void setBias(boolean value);
/**
* Returns the value of the '<em><b>Add bias kv</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Add bias kv</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Add bias kv</em>' attribute.
* @see #setAdd_bias_kv(boolean)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Add_bias_kv()
* @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
* annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='add_bias_kv '"
* @generated
*/
boolean isAdd_bias_kv();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#isAdd_bias_kv <em>Add bias kv</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Add bias kv</em>' attribute.
* @see #isAdd_bias_kv()
* @generated
*/
void setAdd_bias_kv(boolean value);
/**
* Returns the value of the '<em><b>Add zero attn</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Add zero attn</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Add zero attn</em>' attribute.
* @see #setAdd_zero_attn(boolean)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Add_zero_attn()
* @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
* @generated
*/
boolean isAdd_zero_attn();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#isAdd_zero_attn <em>Add zero attn</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Add zero attn</em>' attribute.
* @see #isAdd_zero_attn()
* @generated
*/
void setAdd_zero_attn(boolean value);
/**
* Returns the value of the '<em><b>Kdim</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Kdim</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Kdim</em>' attribute.
* @see #setKdim(int)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Kdim()
* @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
* @generated
*/
int getKdim();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getKdim <em>Kdim</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Kdim</em>' attribute.
* @see #getKdim()
* @generated
*/
void setKdim(int value);
/**
* Returns the value of the '<em><b>Vdim</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Vdim</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Vdim</em>' attribute.
* @see #setVdim(int)
* @see org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage#getMultiheadAttention_Vdim()
* @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
* @generated
*/
int getVdim();
/**
* Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.MultiheadAttention#getVdim <em>Vdim</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Vdim</em>' attribute.
* @see #getVdim()
* @generated
*/
void setVdim(int value);
} // MultiheadAttention