44 bool need_backprop =
false, store_stats =
false;
66 int main(
int argc,
char *argv[]) {
68 using namespace kaldi;
71 typedef kaldi::int64 int64;
74 "Read input nnet training examples, and compute the output for each one.\n" 75 "If --apply-exp=true, apply the Exp() function to the output before writing\n" 78 "Usage: nnet3-compute-from-egs [options] <raw-nnet-in> <training-examples-in> <matrices-out>\n" 80 "nnet3-compute-from-egs --apply-exp=true 0.raw ark:1.egs ark:- | matrix-sum-rows ark:- ... \n" 81 "See also: nnet3-compute\n";
83 bool binary_write =
true,
85 std::string use_gpu =
"yes";
86 std::string output_name =
"output";
89 po.
Register(
"binary", &binary_write,
"Write output in binary mode");
90 po.
Register(
"apply-exp", &apply_exp,
"If true, apply exp function to " 92 po.
Register(
"output-name", &output_name,
"Do computation for " 93 "specified output-node");
95 "yes|no|optional|wait, only has effect if compiled with CUDA");
105 CuDevice::Instantiate().SelectGpuId(use_gpu);
108 std::string nnet_rxfilename = po.
GetArg(1),
109 examples_rspecifier = po.
GetArg(2),
110 matrix_wspecifier = po.
GetArg(3);
122 for (; !example_reader.
Done(); example_reader.
Next(), num_egs++) {
124 computer.
Compute(example_reader.
Value(), output_name, &output);
128 matrix_writer.
Write(example_reader.
Key(), output);
131 CuDevice::Instantiate().PrintProfile();
133 KALDI_LOG <<
"Processed " << num_egs <<
" examples.";
135 }
catch(
const std::exception &e) {
136 std::cerr << e.what() <<
'\n';
NnetExample is the input data and corresponding label (or labels) for one or more frames of input...
This code computes Goodness of Pronunciation (GOP) and extracts phone-level pronunciation feature for...
void CopyToMat(MatrixBase< OtherReal > *dst, MatrixTransposeType trans=kNoTrans) const
CachingOptimizingCompiler compiler_
void PrintUsage(bool print_command_line=false)
Prints the usage documentation [provided in the constructor].
int32 GetVerboseLevel()
Get verbosity level, usually set via command line '–verbose=' switch.
void Compute(const NnetExample &eg, const std::string &output_name, Matrix< BaseFloat > *output)
This class enables you to do the compilation and optimization in one call, and also ensures that if t...
A templated class for writing objects to an archive or script file; see The Table concept...
void Write(const std::string &key, const T &value) const
void Register(const std::string &name, bool *ptr, const std::string &doc)
void ReadKaldiObject(const std::string &filename, Matrix< float > *m)
The class ParseOptions is for parsing command-line options; see Parsing command-line options for more...
int main(int argc, char *argv[])
void AcceptInputs(const Nnet &nnet, const std::vector< NnetIo > &io)
This convenience function calls AcceptInput() in turn on all the inputs in the training example...
A templated class for reading objects sequentially from an archive or script file; see The Table conc...
int Read(int argc, const char *const *argv)
Parses the command line options and fills the ParseOptions-registered variables.
std::string GetArg(int param) const
Returns one of the positional parameters; 1-based indexing for argc/argv compatibility.
NnetComputerFromEg(const Nnet &nnet)
std::shared_ptr< const NnetComputation > Compile(const ComputationRequest &request)
Does the compilation and returns a const pointer to the result, which is owned by this class...
int NumArgs() const
Number of positional parameters (c.f. argc-1).
Matrix for CUDA computing.
MatrixIndexT NumCols() const
class NnetComputer is responsible for executing the computation described in the "computation" object...
#define KALDI_ASSERT(cond)
MatrixIndexT NumRows() const
Returns number of rows (or zero for empty matrix).
void Resize(const MatrixIndexT r, const MatrixIndexT c, MatrixResizeType resize_type=kSetZero, MatrixStrideType stride_type=kDefaultStride)
Sets matrix to a specified size (zero is OK as long as both r and c are zero).
MatrixIndexT NumRows() const
Dimensions.
std::vector< NnetIo > io
"io" contains the input and output.
void GetComputationRequest(const Nnet &nnet, const NnetExample &eg, bool need_model_derivative, bool store_component_stats, ComputationRequest *request)
This function takes a NnetExample (which should already have been frame-selected, if desired...