35 lines
1.2 KiB
Swift
35 lines
1.2 KiB
Swift
import Foundation
|
|
|
|
/// EmbeddingGemma model configuration
|
|
public struct EmbeddingGemmaConfig: Codable {
|
|
public let hiddenSize: Int
|
|
public let numHiddenLayers: Int
|
|
public let vocabSize: Int
|
|
public let numAttentionHeads: Int
|
|
public let numKeyValueHeads: Int
|
|
public let headDim: Int
|
|
public let intermediateSize: Int
|
|
public let maxPositionEmbeddings: Int
|
|
public let slidingWindow: Int
|
|
public let rmsNormEps: Float
|
|
public let ropeTheta: Float
|
|
public let useBidirectionalAttention: Bool
|
|
public let layerTypes: [String]
|
|
|
|
enum CodingKeys: String, CodingKey {
|
|
case hiddenSize = "hidden_size"
|
|
case numHiddenLayers = "num_hidden_layers"
|
|
case vocabSize = "vocab_size"
|
|
case numAttentionHeads = "num_attention_heads"
|
|
case numKeyValueHeads = "num_key_value_heads"
|
|
case headDim = "head_dim"
|
|
case intermediateSize = "intermediate_size"
|
|
case maxPositionEmbeddings = "max_position_embeddings"
|
|
case slidingWindow = "sliding_window"
|
|
case rmsNormEps = "rms_norm_eps"
|
|
case ropeTheta = "rope_theta"
|
|
case useBidirectionalAttention = "use_bidirectional_attention"
|
|
case layerTypes = "layer_types"
|
|
}
|
|
}
|