mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[evaluation-plugin] LME-66 Revert config changes and make chunkSize optional
GitOrigin-RevId: b6cca9b6089e9f27a960bdff0270bb4d8948247f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e16f6da212
commit
2d0c04f967
@@ -16,8 +16,7 @@ import java.nio.file.Paths
|
||||
* @property outputDir The output directory for the evaluation results.
|
||||
* @property strategy The evaluation strategy used.
|
||||
* @property actions The configuration for actions generation step.
|
||||
* @property csvDataset Dataset configuration for CSV file.
|
||||
* @property conflictDataset Dataset configuration for conflict resolution evaluations.
|
||||
* @property fileDataset Dataset configuration for standalone setups
|
||||
* @property interpret The configuration for actions interpretation step.
|
||||
* @property reorder The configuration for element reordering step.
|
||||
* @property reports The configuration for report generation step.
|
||||
@@ -26,8 +25,7 @@ data class Config private constructor(
|
||||
val outputDir: String,
|
||||
val strategy: EvaluationStrategy,
|
||||
val actions: ActionsGeneration?,
|
||||
val csvDataset: FileDataset?,
|
||||
val conflictDataset: ConflictDataset?,
|
||||
val fileDataset: FileDataset?,
|
||||
val interpret: ActionsInterpretation,
|
||||
val reorder: ReorderElements,
|
||||
val reports: ReportGeneration
|
||||
@@ -75,11 +73,7 @@ data class Config private constructor(
|
||||
*/
|
||||
data class FileDataset internal constructor(
|
||||
val url: String,
|
||||
val chunkSize: Int,
|
||||
)
|
||||
|
||||
data class ConflictDataset internal constructor(
|
||||
val url: String
|
||||
val chunkSize: Int?,
|
||||
)
|
||||
|
||||
/**
|
||||
@@ -141,7 +135,6 @@ data class Config private constructor(
|
||||
class Builder internal constructor() {
|
||||
var actions: ActionsGeneration? = null
|
||||
var fileDataset: FileDataset? = null
|
||||
var conflictDataset: ConflictDataset? = null
|
||||
|
||||
var outputDir: String? = null
|
||||
var strategy: EvaluationStrategy = EvaluationStrategy.defaultStrategy
|
||||
@@ -168,8 +161,7 @@ data class Config private constructor(
|
||||
|
||||
constructor(config: Config) : this() {
|
||||
actions = config.actions
|
||||
fileDataset = config.csvDataset
|
||||
conflictDataset = config.conflictDataset
|
||||
fileDataset = config.fileDataset
|
||||
outputDir = config.outputDir
|
||||
strategy = config.strategy
|
||||
saveLogs = config.interpret.saveLogs
|
||||
@@ -214,7 +206,6 @@ data class Config private constructor(
|
||||
strategy,
|
||||
actions,
|
||||
fileDataset,
|
||||
conflictDataset,
|
||||
ActionsInterpretation(
|
||||
experimentGroup,
|
||||
sessionsLimit,
|
||||
|
||||
@@ -63,8 +63,7 @@ object ConfigFactory {
|
||||
map.getIfExists<String>("language"),
|
||||
this
|
||||
)
|
||||
deserializeFileDataset(map.getIfExists("csvDataset"), this)
|
||||
deserializeConflictDataset(map.getIfExists("conflictDataset"), this)
|
||||
deserializeFileDataset(map.getIfExists("fileDataset"), this)
|
||||
|
||||
deserializeStrategy(map.getIfExists("strategy"), strategySerializer, actions?.language, this)
|
||||
deserializeActionsInterpretation(map.getIfExists("interpret"), this)
|
||||
@@ -120,20 +119,7 @@ object ConfigFactory {
|
||||
|
||||
builder.fileDataset = Config.FileDataset(
|
||||
map.getAs("url"),
|
||||
map.getAs<Double>("chunkSize").toInt(),
|
||||
)
|
||||
}
|
||||
|
||||
private fun deserializeConflictDataset(
|
||||
map: Map<String, Any>?,
|
||||
builder: Config.Builder
|
||||
) {
|
||||
if (map == null) {
|
||||
return
|
||||
}
|
||||
|
||||
builder.conflictDataset = Config.ConflictDataset(
|
||||
map.getAs("url")
|
||||
map.getIfExists<Double?>("chunkSize")?.toInt(),
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"outputDir": "ml-eval-conflict-resolution-output",
|
||||
"strategy": {},
|
||||
"conflictDataset": {
|
||||
"fileDataset": {
|
||||
"url": "existing:conflicts"
|
||||
},
|
||||
"interpret": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"outputDir": "ml-eval-standalone-example-output",
|
||||
"strategy": {},
|
||||
"csvDataset": {
|
||||
"fileDataset": {
|
||||
"url": "./latin_letters.csv",
|
||||
"chunkSize": 10
|
||||
},
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ class ConflictResolutionFeature : StandaloneFeature<ConflictResolutionStrategy>(
|
||||
override fun getStrategySerializer(): StrategySerializer<ConflictResolutionStrategy> = ConflictResolutionStrategy.Serializer()
|
||||
|
||||
override fun prepareEnvironment(config: Config): SimpleFileEnvironment = ConflictEnvironment(
|
||||
DatasetRef.parse(config.conflictDataset!!.url),
|
||||
DatasetRef.parse(config.fileDataset!!.url),
|
||||
TheirConflictResolver()
|
||||
)
|
||||
|
||||
|
||||
+2
-2
@@ -23,10 +23,10 @@ class StandaloneExampleFeature : StandaloneFeature<DatasetStrategy>("standalone-
|
||||
}
|
||||
|
||||
override fun prepareEnvironment(config: Config): EvaluationEnvironment {
|
||||
val fileDataset = config.csvDataset ?: throw IllegalStateException("Required dataset config")
|
||||
val fileDataset = config.fileDataset ?: throw IllegalStateException("Required dataset config")
|
||||
return CsvEnvironment(
|
||||
datasetRef = DatasetRef.parse(fileDataset.url),
|
||||
chunkSize = fileDataset.chunkSize,
|
||||
chunkSize = fileDataset.chunkSize ?: 1,
|
||||
targetField = "Type",
|
||||
featureInvoker = StandaloneExampleInvoker(),
|
||||
)
|
||||
|
||||
@@ -91,15 +91,15 @@ class ConfigFactoryTest {
|
||||
{
|
||||
"outputDir": "test_outputDir",
|
||||
"strategy": {},
|
||||
"csvDataset": {
|
||||
"fileDataset": {
|
||||
"url": "test_url",
|
||||
"chunkSize": 300
|
||||
}
|
||||
}
|
||||
""".trimIndent()
|
||||
).also {
|
||||
assertEquals("test_url", it.csvDataset?.url)
|
||||
assertEquals(300, it.csvDataset?.chunkSize)
|
||||
assertEquals("test_url", it.fileDataset?.url)
|
||||
assertEquals(300, it.fileDataset?.chunkSize)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user