This branch implements changes outlined in issue #31 and some of issue #32. It contains a new GraphXData.py used for storing graph-based data
GraphXData.py
This is a new data object used for storing graph data. Data is stored in a E x D matrix, where observation e sits on the edge going from node with ID GraphXData.sourceID[e] to GraphXData.destID[e].
BernObsModel.py
Changes to BernObsModel address issue #31 : that some allocation models may specify sufficient statistics that are not of dimension K x D. Note that the changes don't account for data that is not a 2-D array, as is suggested in issue #31. These changes are currently only implemented for BernObsModel, but should be easy to add to other obsmodels.
For existing models, the changes produce the same behavior:
python -m bnpy.Run JainNealEx1 FiniteMixtureModel Bern VB --K 5
RESULT ON TAGGEDXDATA BRANCH:
Trial 1/1 | alg. seed: 4226944 | data order seed: 8541952
savepath: /research/people/wtstephe/outdir/JainNealEx1/defaultjob/1
1/10 after 0 sec. | K 5 | ev -6.155503017e-01 |
2/10 after 0 sec. | K 5 | ev -6.025694195e-01 | Ndiff 1.273
3/10 after 0 sec. | K 5 | ev -5.943878465e-01 | Ndiff 1.255
4/10 after 0 sec. | K 5 | ev -5.878799989e-01 | Ndiff 1.119
5/10 after 0 sec. | K 5 | ev -5.831982867e-01 | Ndiff 0.864
6/10 after 1 sec. | K 5 | ev -5.786238231e-01 | Ndiff 0.631
7/10 after 1 sec. | K 5 | ev -5.778562889e-01 | Ndiff 0.167
8/10 after 1 sec. | K 5 | ev -5.778520682e-01 | Ndiff 0.045
... done. converged.
RESULT ON MASTER BRANCH:
Trial 1/1 | alg. seed: 4226944 | data order seed: 8541952
savepath: /research/people/wtstephe/outdir/JainNealEx1/defaultjob/1
1/10 after 0 sec. | K 5 | ev -6.155503017e-01 |
2/10 after 0 sec. | K 5 | ev -6.025694195e-01 | Ndiff 1.273
3/10 after 0 sec. | K 5 | ev -5.943878465e-01 | Ndiff 1.255
4/10 after 0 sec. | K 5 | ev -5.878799989e-01 | Ndiff 1.119
5/10 after 0 sec. | K 5 | ev -5.831982867e-01 | Ndiff 0.864
6/10 after 0 sec. | K 5 | ev -5.786238231e-01 | Ndiff 0.631
7/10 after 0 sec. | K 5 | ev -5.778562889e-01 | Ndiff 0.167
8/10 after 0 sec. | K 5 | ev -5.778520682e-01 | Ndiff 0.045
... done. converged.
This branch implements changes outlined in issue #31 and some of issue #32. It contains a new
GraphXData.py
used for storing graph-based dataGraphXData.py
This is a new data object used for storing graph data. Data is stored in a
E x D
matrix, where observatione
sits on the edge going from node with IDGraphXData.sourceID[e]
toGraphXData.destID[e]
.BernObsModel.py
Changes to
BernObsModel
address issue #31 : that some allocation models may specify sufficient statistics that are not of dimensionK x D
. Note that the changes don't account for data that is not a 2-D array, as is suggested in issue #31. These changes are currently only implemented forBernObsModel
, but should be easy to add to other obsmodels.For existing models, the changes produce the same behavior:
python -m bnpy.Run JainNealEx1 FiniteMixtureModel Bern VB --K 5 RESULT ON TAGGEDXDATA BRANCH: Trial 1/1 | alg. seed: 4226944 | data order seed: 8541952 savepath: /research/people/wtstephe/outdir/JainNealEx1/defaultjob/1 1/10 after 0 sec. | K 5 | ev -6.155503017e-01 | 2/10 after 0 sec. | K 5 | ev -6.025694195e-01 | Ndiff 1.273 3/10 after 0 sec. | K 5 | ev -5.943878465e-01 | Ndiff 1.255 4/10 after 0 sec. | K 5 | ev -5.878799989e-01 | Ndiff 1.119 5/10 after 0 sec. | K 5 | ev -5.831982867e-01 | Ndiff 0.864 6/10 after 1 sec. | K 5 | ev -5.786238231e-01 | Ndiff 0.631 7/10 after 1 sec. | K 5 | ev -5.778562889e-01 | Ndiff 0.167 8/10 after 1 sec. | K 5 | ev -5.778520682e-01 | Ndiff 0.045 ... done. converged. RESULT ON MASTER BRANCH: Trial 1/1 | alg. seed: 4226944 | data order seed: 8541952 savepath: /research/people/wtstephe/outdir/JainNealEx1/defaultjob/1 1/10 after 0 sec. | K 5 | ev -6.155503017e-01 | 2/10 after 0 sec. | K 5 | ev -6.025694195e-01 | Ndiff 1.273 3/10 after 0 sec. | K 5 | ev -5.943878465e-01 | Ndiff 1.255 4/10 after 0 sec. | K 5 | ev -5.878799989e-01 | Ndiff 1.119 5/10 after 0 sec. | K 5 | ev -5.831982867e-01 | Ndiff 0.864 6/10 after 0 sec. | K 5 | ev -5.786238231e-01 | Ndiff 0.631 7/10 after 0 sec. | K 5 | ev -5.778562889e-01 | Ndiff 0.167 8/10 after 0 sec. | K 5 | ev -5.778520682e-01 | Ndiff 0.045 ... done. converged.