exp show --csv: Parent column empty
See original GitHub issueBug Report
Description
The parent commit column in exp show --csv is empty even for checkpoints where a parent commit exists.
Reproduce
$ git clone git@github.com:dberenbaum/dvc-checkpoint.git
$ echo 1 > bar
$ dvc exp run
$ dvc exp show --json
{
"workspace": {
"baseline": {
"data": {
"timestamp": null,
"params": {
"params.yaml": {
"data": {
"start": 0
}
},
"checkpoint.py": {
"data": {
"EPOCHS": 2,
"STEP": 1
}
}
},
"queued": false,
"running": false,
"executor": null,
"metrics": {
"scores.yaml": {
"data": {
"epoch": 1,
"mult": 1
}
}
}
}
}
},
"0fd92c2c0ff17c923a79b4b0b96e54fe4b73a8cf": {
"baseline": {
"data": {
"timestamp": "2021-03-10T14:05:52",
"params": {
"params.yaml": {
"data": {
"start": 0
}
},
"checkpoint.py": {
"data": {
"EPOCHS": 2,
"STEP": 1
}
}
},
"queued": false,
"running": false,
"executor": null,
"metrics": {},
"name": "main"
}
},
"0a2b7379f2720a2fe240a826a611c285ddb2d07f": {
"data": {
"checkpoint_tip": "0a2b7379f2720a2fe240a826a611c285ddb2d07f",
"timestamp": "2021-11-18T20:30:27",
"params": {
"params.yaml": {
"data": {
"start": 0
}
},
"checkpoint.py": {
"data": {
"EPOCHS": 2,
"STEP": 1
}
}
},
"queued": false,
"running": false,
"executor": null,
"metrics": {
"scores.yaml": {
"data": {
"epoch": 1,
"mult": 1
}
}
},
"name": "exp-e44da",
"checkpoint_parent": "8acf8ec4ea2dcedc39eac011d35cf26a1e1f291d"
}
},
"8acf8ec4ea2dcedc39eac011d35cf26a1e1f291d": {
"data": {
"checkpoint_tip": "0a2b7379f2720a2fe240a826a611c285ddb2d07f",
"timestamp": "2021-11-18T20:30:26",
"params": {
"params.yaml": {
"data": {
"start": 0
}
},
"checkpoint.py": {
"data": {
"EPOCHS": 2,
"STEP": 1
}
}
},
"queued": false,
"running": false,
"executor": null,
"metrics": {
"scores.yaml": {
"data": {
"epoch": 0,
"mult": 0
}
}
},
"checkpoint_parent": "0fd92c2c0ff17c923a79b4b0b96e54fe4b73a8cf"
}
}
}
}
$ dvc exp show --csv
Experiment,rev,typ,Created,parent,epoch,mult,start,EPOCHS,STEP
,workspace,baseline,,,1,1,0,2,1
main,0fd92c2,baseline,2021-03-10T14:05:52,,,,0,2,1
exp-e44da,0a2b737,checkpoint_tip,2021-11-18T20:30:27,,1,1,0,2,1
,8acf8ec,checkpoint_base,2021-11-18T20:30:26,,0,0,0,2,1
Expected
8acf8ec should have 0fd92c2c0ff17c923a79b4b0b96e54fe4b73a8cf in parent.
Environment information
2.8.4.dev29+gd8c77da4
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (4 by maintainers)
Top Results From Across the Web
While uploading csv file using Vf page it is taking empty rows ...
You should probably check and make sure the row isn't empty first. I'm actually kind of surprised this doesn't crash with a ListException....
Read more >exp show | Data Version Control - DVC
Displays experiments and checkpoints in a detailed table which includes their parent and name (or hash), as well as colored columns for (left...
Read more >Inconsistent Output for Empty Columns in a CSV File in Excel
Another way to work around this issue is to open the CSV file in Excel and then use the Text to Columns function...
Read more >101 Advanced Pivot Table Tips And Tricks You Need To Know
Right click on the field you want to expand or collapse and select Expand/Collapse from the menu. What is this?
Read more >Putting csv into list, accessing empty spaces in the last column ...
this is an issue with the actual csv file. Since the last row only contains two columns, the third one can't be reached...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

This one is more reasonable and more obvious than the parent solution, especially when there were more than one checkpoint bases and tips. Besides this, My opinion is that a group of different epochs should belong to the same experiments, they are not independent experiments just different steps in the same experiments. So I think in the json format, we should gather them in one “{}” instead of just chaining them with “checkpoint_parent”.
If it’s not straightforward to add any of this (it doesn’t look like adding experiment names to each checkpoint row is something provided directly by the internal or json data structure), we can mark this as p2 and move on to other priorities.