MCPcopy Create free account
hub / github.com/bab2min/tomotopy / infer

Method infer

src/TopicModel/TopicModel.hpp:842–875  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

840 }
841
842 std::vector<double> infer(const std::vector<DocumentBase*>& docs, size_t maxIter, Float tolerance, size_t numWorkers, ParallelScheme ps, bool together) const override
843 {
844 if (!numWorkers) numWorkers = std::thread::hardware_concurrency();
845 ps = getRealScheme(ps);
846 if (numWorkers == 1) ps = ParallelScheme::none;
847 auto tx = [](DocumentBase* p)->DocType& { return *static_cast<DocType*>(p); };
848 auto b = makeTransformIter(docs.begin(), tx), e = makeTransformIter(docs.end(), tx);
849
850 if (together)
851 {
852 switch (ps)
853 {
854 case ParallelScheme::none:
855 return static_cast<const _Derived*>(this)->template _infer<true, ParallelScheme::none>(b, e, maxIter, tolerance, numWorkers);
856 case ParallelScheme::copy_merge:
857 return static_cast<const _Derived*>(this)->template _infer<true, ParallelScheme::copy_merge>(b, e, maxIter, tolerance, numWorkers);
858 case ParallelScheme::partition:
859 return static_cast<const _Derived*>(this)->template _infer<true, ParallelScheme::partition>(b, e, maxIter, tolerance, numWorkers);
860 }
861 }
862 else
863 {
864 switch (ps)
865 {
866 case ParallelScheme::none:
867 return static_cast<const _Derived*>(this)->template _infer<false, ParallelScheme::none>(b, e, maxIter, tolerance, numWorkers);
868 case ParallelScheme::copy_merge:
869 return static_cast<const _Derived*>(this)->template _infer<false, ParallelScheme::copy_merge>(b, e, maxIter, tolerance, numWorkers);
870 case ParallelScheme::partition:
871 return static_cast<const _Derived*>(this)->template _infer<false, ParallelScheme::partition>(b, e, maxIter, tolerance, numWorkers);
872 }
873 }
874 THROW_ERROR_WITH_INFO(exc::InvalidArgument, "invalid ParallelScheme");
875 }
876
877 std::vector<Float> getTopicsByDoc(const DocumentBase* doc, bool normalize) const override
878 {

Callers

nothing calls this directly

Calls 3

makeTransformIterFunction · 0.85
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected