[ 
https://issues.apache.org/jira/browse/MAHOUT-1147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13679777#comment-13679777
 ] 

Jake Mannix commented on MAHOUT-1147:
-------------------------------------

So I'm running cluster-reuters.sh with this patch added now, and unrelated to 
this patch, I'm seeing that since I have a pseudo-distributed setup (hadoop 
running for real on my laptop), I'm seeing that cluster-reuters.sh totally 
breaks in a silent and lame way: it unpacks the reuters data to a local 
directory, but then when it runs the vectorization jobs, they're running on 
hadoop, assuming that the paths which were unpacked locally with reuters data 
exist, but while /tmp/mahout-work-jake/reuters-out exists on the real FS, it 
isn't on HDFS, and the job "tokenizes" a bunch of empty vectors, creates an 
empty dictionary, and then tries to run LDA on the empty matrix, producing a 
bunch of empty topic models.  Silent empty failure.  Way lame.

Appears to be running better now that I manually ran "hadoop dfs -put 
/tmp/mahout-work-jake/reuters-out /tmp/mahout-work-jake" before rerunning.
                
> CVB Bug in CVB0Driver causes doc/topic distributions to be trained on random 
> matrix
> -----------------------------------------------------------------------------------
>
>                 Key: MAHOUT-1147
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1147
>             Project: Mahout
>          Issue Type: Bug
>          Components: Clustering
>    Affects Versions: 0.7
>         Environment: Eclipse IDE
> Java code base
> CVB0Driver Class
> setModelPaths(Job job, Path modelPath) - method
>            Reporter: Jack Pay
>            Assignee: Jake Mannix
>              Labels: bug, cvb, fix, suggestion
>             Fix For: 0.8
>
>         Attachments: MAHOUT-1147.patch, MAHOUT-1147.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Problem:
> When training doc/topic model no paths for the term/topic model found 
> (outputs null).
> These paths are set using setModelPaths in CVB0Driver.
> Reason for Problem:
> Variety of Job instances call this method. 
> The Job is passed to the method instead of the Configuration object given to 
> the Job.
> The configuration is retrieved from the Job instance itself.
> I believe that this Configuration instance is a clone of the original.
> This is a problem as the variable MODEL_PATHS is set on the clone which is 
> then discarded when the given Job is complete.
> The original Configuration has no MODEL_PATHS String set and therefore 
> returns null.
> The code stipulates that if it cannot find a model to use a new random 
> matrix. This happens every time as MODEL_PATHS is not set for the 
> Configuration instance used.
> Solution:
> Do not pass the Job to the setModels method, but pass the Configuration 
> instance passed into the method which created the Job.
> i.e.
> change from:
> setModelPaths(Job job, Path modelPath)
> to:
> setModelPaths(Configuration conf, Path modelPath)
> And change all calling methods accordingly (obviously).
> So far what little testing I have done appears to solve this problem.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to