Package cc.mallet.topics
Class WorkerRunnable
- java.lang.Object
-
- cc.mallet.topics.WorkerRunnable
-
- All Implemented Interfaces:
java.lang.Runnable
public class WorkerRunnable extends java.lang.Object implements java.lang.RunnableA parallel topic model runnable task.- Author:
- David Mimno, Andrew McCallum
-
-
Field Summary
Fields Modifier and Type Field Description protected double[]alphaprotected doublealphaSumprotected doublebetaprotected doublebetaSumprotected double[]cachedCoefficientsstatic doubleDEFAULT_BETAprotected int[]docLengthCountsprotected intnumTopicsprotected intnumTypesprotected Randomsrandomprotected doublesmoothingOnlyMassprotected int[]tokensPerTopicprotected inttopicBitsprotected int[][]topicDocCountsprotected inttopicMaskprotected int[][]typeTopicCounts
-
Constructor Summary
Constructors Constructor Description WorkerRunnable()WorkerRunnable(int numTopics, double[] alpha, double alphaSum, double beta, Randoms random, java.util.ArrayList<TopicAssignment> data, int[][] typeTopicCounts, int[] tokensPerTopic, int startDoc, int numDocs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildLocalTypeTopicCounts()Once we have sampled the local counts, trash the "global" type topic counts and reuse the space to build a summary of the type topic counts specific to this worker's section of the corpus.voidcollectAlphaStatistics()int[]getDocLengthCounts()int[]getTokensPerTopic()int[][]getTopicDocCounts()int[][]getTypeTopicCounts()voidinitializeAlphaStatistics(int size)voidmakeOnlyThread()If there is only one thread, we don't need to go through communication overhead.voidresetBeta(double beta, double betaSum)voidrun()protected voidsampleTopicsForOneDoc(FeatureSequence tokenSequence, FeatureSequence topicSequence, boolean readjustTopicsAndStats)
-
-
-
Field Detail
-
numTopics
protected int numTopics
-
topicMask
protected int topicMask
-
topicBits
protected int topicBits
-
numTypes
protected int numTypes
-
alpha
protected double[] alpha
-
alphaSum
protected double alphaSum
-
beta
protected double beta
-
betaSum
protected double betaSum
-
DEFAULT_BETA
public static final double DEFAULT_BETA
- See Also:
- Constant Field Values
-
smoothingOnlyMass
protected double smoothingOnlyMass
-
cachedCoefficients
protected double[] cachedCoefficients
-
typeTopicCounts
protected int[][] typeTopicCounts
-
tokensPerTopic
protected int[] tokensPerTopic
-
docLengthCounts
protected int[] docLengthCounts
-
topicDocCounts
protected int[][] topicDocCounts
-
random
protected Randoms random
-
-
Constructor Detail
-
WorkerRunnable
public WorkerRunnable()
-
WorkerRunnable
public WorkerRunnable(int numTopics, double[] alpha, double alphaSum, double beta, Randoms random, java.util.ArrayList<TopicAssignment> data, int[][] typeTopicCounts, int[] tokensPerTopic, int startDoc, int numDocs)
-
-
Method Detail
-
makeOnlyThread
public void makeOnlyThread()
If there is only one thread, we don't need to go through communication overhead. This method asks this worker not to prepare local type-topic counts. The method should be called when we are using this code in a non-threaded environment.
-
getTokensPerTopic
public int[] getTokensPerTopic()
-
getTypeTopicCounts
public int[][] getTypeTopicCounts()
-
getDocLengthCounts
public int[] getDocLengthCounts()
-
getTopicDocCounts
public int[][] getTopicDocCounts()
-
initializeAlphaStatistics
public void initializeAlphaStatistics(int size)
-
collectAlphaStatistics
public void collectAlphaStatistics()
-
resetBeta
public void resetBeta(double beta, double betaSum)
-
buildLocalTypeTopicCounts
public void buildLocalTypeTopicCounts()
Once we have sampled the local counts, trash the "global" type topic counts and reuse the space to build a summary of the type topic counts specific to this worker's section of the corpus.
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
sampleTopicsForOneDoc
protected void sampleTopicsForOneDoc(FeatureSequence tokenSequence, FeatureSequence topicSequence, boolean readjustTopicsAndStats)
-
-