Vowpal Wabbit
Loading...
Searching...
No Matches
Namespaces | Functions
interactions_predict.h File Reference
#include "vw/common/future_compat.h"
#include "vw/common/vw_exception.h"
#include "vw/core/constant.h"
#include "vw/core/example_predict.h"
#include "vw/core/feature_group.h"
#include "vw/core/interaction_generation_state.h"
#include "vw/core/object_pool.h"
#include <cstdint>
#include <stack>
#include <string>
#include <utility>
#include <vector>

Namespaces

namespace  VW
 
namespace  VW::details
 
namespace  INTERACTIONS
 

Functions

template<class DataT , void(*)(DataT &, const float, float &) FuncT, class WeightsT >
void VW::details::call_func_t (DataT &dat, WeightsT &weights, const float ft_value, const uint64_t ft_idx)
 
template<class DataT , void(*)(DataT &, const float, float) FuncT, class WeightsT >
void VW::details::call_func_t (DataT &dat, const WeightsT &weights, const float ft_value, const uint64_t ft_idx)
 
bool VW::details::term_is_empty (VW::namespace_index term, const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups)
 
bool VW::details::has_empty_interaction_quadratic (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, const std::vector< VW::namespace_index > &namespace_indexes)
 
bool VW::details::has_empty_interaction_cubic (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, const std::vector< VW::namespace_index > &namespace_indexes)
 
bool VW::details::has_empty_interaction (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, const std::vector< VW::namespace_index > &namespace_indexes)
 
bool VW::details::has_empty_interaction (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, const std::vector< VW::extent_term > &namespace_indexes)
 
constexpr float VW::details::interaction_value (float value1, float value2)
 
std::tuple< VW::details::features_range_t, VW::details::features_range_tVW::details::generate_quadratic_char_combination (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, VW::namespace_index ns_idx1, VW::namespace_index ns_idx2)
 
template<typename DispatchCombinationFuncT >
void VW::details::generate_generic_extent_combination_iterative (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, const std::vector< VW::extent_term > &terms, const DispatchCombinationFuncT &dispatch_combination_func, std::stack< VW::details::extent_interaction_expansion_stack_item > &in_process_frames, VW::moved_object_pool< VW::details::extent_interaction_expansion_stack_item > &frame_pool)
 
std::tuple< VW::details::features_range_t, VW::details::features_range_t, VW::details::features_range_tVW::details::generate_cubic_char_combination (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, VW::namespace_index ns_idx1, VW::namespace_index ns_idx2, VW::namespace_index ns_idx3)
 
std::vector< VW::details::features_range_tVW::details::generate_generic_char_combination (const std::array< VW::features, VW::NUM_NAMESPACES > &feature_groups, const std::vector< VW::namespace_index > &terms)
 
template<class DataT , class WeightOrIndexT , void(*)(DataT &, float, WeightOrIndexT) FuncT, bool audit, void(*)(DataT &, const VW::audit_strings *) audit_func, class WeightsT >
void VW::details::inner_kernel (DataT &dat, VW::features::const_audit_iterator &begin, VW::features::const_audit_iterator &end, const uint64_t offset, WeightsT &weights, VW::feature_value ft_value, VW::feature_index halfhash)
 
template<bool Audit, typename KernelFuncT , typename AuditFuncT >
size_t VW::details::process_quadratic_interaction (const std::tuple< VW::details::features_range_t, VW::details::features_range_t > &range, bool permutations, const KernelFuncT &kernel_func, const AuditFuncT &audit_func)
 
template<bool Audit, typename KernelFuncT , typename AuditFuncT >
size_t VW::details::process_cubic_interaction (const std::tuple< VW::details::features_range_t, VW::details::features_range_t, VW::details::features_range_t > &range, bool permutations, const KernelFuncT &kernel_func, const AuditFuncT &audit_func)
 
template<bool Audit, typename KernelFuncT , typename AuditFuncT >
size_t VW::details::process_generic_interaction (const std::vector< VW::details::features_range_t > &range, bool permutations, const KernelFuncT &kernel_func, const AuditFuncT &audit_func, std::vector< VW::details::feature_gen_data > &state_data)
 
template<class DataT , class WeightOrIndexT , void(*)(DataT &, float, WeightOrIndexT) FuncT, bool audit, void(*)(DataT &, const VW::audit_strings *) audit_func, class WeightsT >
void VW::generate_interactions (const std::vector< std::vector< VW::namespace_index > > &interactions, const std::vector< std::vector< VW::extent_term > > &extent_interactions, bool permutations, VW::example_predict &ec, DataT &dat, WeightsT &weights, size_t &num_features, VW::details::generate_interactions_object_cache &cache)
 
template<class DataT , class WeightOrIndexT , void(*)(DataT &, float, WeightOrIndexT) FuncT, bool audit, void(*)(DataT &, const VW::audit_strings *) audit_func, class WeightsT >
void INTERACTIONS::generate_interactions (const std::vector< std::vector< VW::namespace_index > > &interactions, const std::vector< std::vector< VW::extent_term > > &extent_interactions, bool permutations, VW::example_predict &ec, DataT &dat, WeightsT &weights, size_t &num_features, VW::details::generate_interactions_object_cache &cache)