本文整理汇总了C++中arma::mat::colptr方法的典型用法代码示例。如果您正苦于以下问题:C++ mat::colptr方法的具体用法?C++ mat::colptr怎么用?C++ mat::colptr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类arma::mat
的用法示例。
在下文中一共展示了mat::colptr方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ResetParameter
void FFN<
LayerTypes, OutputLayerType, InitializationRuleType, PerformanceFunction
>::Predict(arma::mat& predictors, arma::mat& responses)
{
deterministic = true;
arma::mat responsesTemp;
ResetParameter(network);
Forward(arma::mat(predictors.colptr(0), predictors.n_rows, 1, false, true),
network);
OutputPrediction(responsesTemp, network);
responses = arma::mat(responsesTemp.n_elem, predictors.n_cols);
responses.col(0) = responsesTemp.col(0);
for (size_t i = 1; i < predictors.n_cols; i++)
{
Forward(arma::mat(predictors.colptr(i), predictors.n_rows, 1, false, true),
network);
responsesTemp = arma::mat(responses.colptr(i), responses.n_rows, 1, false,
true);
OutputPrediction(responsesTemp, network);
responses.col(i) = responsesTemp.col(0);
}
}
示例2: SinglePredict
void RNN<
LayerTypes, OutputLayerType, InitializationRuleType, PerformanceFunction
>::Predict(arma::mat& predictors, arma::mat& responses)
{
arma::mat responsesTemp;
SinglePredict(arma::mat(predictors.colptr(0), predictors.n_rows,
1, false, true), responsesTemp);
responses = arma::mat(responsesTemp.n_elem, predictors.n_cols);
responses.col(0) = responsesTemp.col(0);
for (size_t i = 1; i < predictors.n_cols; i++)
{
SinglePredict(arma::mat(predictors.colptr(i), predictors.n_rows,
1, false, true), responsesTemp);
responses.col(i) = responsesTemp.col(0);
}
}
示例3: memmove
void CF<FactorizerType>::InsertNeighbor(const size_t queryIndex,
const size_t pos,
const size_t neighbor,
const double value,
arma::Mat<size_t>& recommendations,
arma::mat& values) const
{
// We only memmove() if there is actually a need to shift something.
if (pos < (recommendations.n_rows - 1))
{
const int len = (values.n_rows - 1) - pos;
memmove(values.colptr(queryIndex) + (pos + 1),
values.colptr(queryIndex) + pos,
sizeof(double) * len);
memmove(recommendations.colptr(queryIndex) + (pos + 1),
recommendations.colptr(queryIndex) + pos,
sizeof(size_t) * len);
}
// Now put the new information in the right index.
values(pos, queryIndex) = value;
recommendations(pos, queryIndex) = neighbor;
}
示例4: memmove
void LSHSearch<SortPolicy>::InsertNeighbor(arma::mat& distances,
arma::Mat<size_t>& neighbors,
const size_t queryIndex,
const size_t pos,
const size_t neighbor,
const double distance)
{
// We only memmove() if there is actually a need to shift something.
if (pos < (distances.n_rows - 1))
{
const size_t len = (distances.n_rows - 1) - pos;
memmove(distances.colptr(queryIndex) + (pos + 1),
distances.colptr(queryIndex) + pos,
sizeof(double) * len);
memmove(neighbors.colptr(queryIndex) + (pos + 1),
neighbors.colptr(queryIndex) + pos,
sizeof(size_t) * len);
}
// Now put the new information in the right index.
distances(pos, queryIndex) = distance;
neighbors(pos, queryIndex) = neighbor;
}
示例5: memmove
void FastMKS<KernelType, TreeType>::InsertNeighbor(arma::Mat<size_t>& indices,
arma::mat& products,
const size_t queryIndex,
const size_t pos,
const size_t neighbor,
const double distance)
{
// We only memmove() if there is actually a need to shift something.
if (pos < (products.n_rows - 1))
{
int len = (products.n_rows - 1) - pos;
memmove(products.colptr(queryIndex) + (pos + 1),
products.colptr(queryIndex) + pos,
sizeof(double) * len);
memmove(indices.colptr(queryIndex) + (pos + 1),
indices.colptr(queryIndex) + pos,
sizeof(size_t) * len);
}
// Now put the new information in the right index.
products(pos, queryIndex) = distance;
indices(pos, queryIndex) = neighbor;
}
示例6: ResetParameter
void CNN<
LayerTypes, OutputLayerType, InitializationRuleType, PerformanceFunction
>::Predict(arma::cube& predictors, arma::mat& responses)
{
deterministic = true;
arma::mat responsesTemp;
ResetParameter(network);
Forward(predictors.slices(0, sampleSize - 1), network);
OutputPrediction(responsesTemp, network);
responses = arma::mat(responsesTemp.n_elem, predictors.n_slices);
responses.col(0) = responsesTemp.col(0);
for (size_t i = 1; i < (predictors.n_slices / sampleSize); i++)
{
Forward(predictors.slices(i, (i + 1) * sampleSize - 1), network);
responsesTemp = arma::mat(responses.colptr(i), responses.n_rows, 1, false,
true);
OutputPrediction(responsesTemp, network);
responses.col(i) = responsesTemp.col(0);
}
}
示例7: distribution
//.........这里部分代码省略.........
r_i = r / dr_R;
if (r_i >= N) {
continue;
}
radial_dist(r_i)++;
}
#ifdef MPI_ON
if (node == 0) {
MPI_Reduce(MPI_IN_PLACE, distribution.memptr(), N * N*N, MPI_UNSIGNED, MPI_SUM, 0, MPI_COMM_WORLD);
MPI_Reduce(MPI_IN_PLACE, radial_dist.memptr(), N, MPI_UNSIGNED, MPI_SUM, 0, MPI_COMM_WORLD);
if (!rerun) {
ivec displs = zeros<ivec > (n_nodes);
double displ_sum = 0;
for (int j = 0; j < n_nodes; j++) {
displs(j) = displ_sum;
displ_sum += n_list(j);
}
tot_dist = zeros<mat > (n_tot, dim);
for (int i = 0; i < dim; i++) {
MPI_Gatherv(dist.colptr(i), n, MPI_DOUBLE,
tot_dist.colptr(i), n_list.memptr(), displs.memptr(),
MPI_DOUBLE, 0, MPI_COMM_WORLD);
}
// cout << as_scalar(mean(arma::sqrt(sum(tot_dist % tot_dist, 1)))) << endl;
displs.reset();
}
} else {
MPI_Reduce(distribution.memptr(), NULL, N * N*N, MPI_UNSIGNED, MPI_SUM, 0, MPI_COMM_WORLD);
MPI_Reduce(radial_dist.memptr(), NULL, N, MPI_UNSIGNED, MPI_SUM, 0, MPI_COMM_WORLD);
if (!rerun) {
for (int i = 0; i < dim; i++) {
MPI_Gatherv(dist.colptr(i), n, MPI_DOUBLE,
NULL, NULL, NULL,
NULL, 0, MPI_COMM_WORLD);
}
}
radial_dist.reset();
distribution.reset();
}
#else
tot_dist(dist.memptr(), n, dim, false, true);
#endif
n_list.reset();
R.reset();