本文整理汇总了C++中af::join方法的典型用法代码示例。如果您正苦于以下问题:C++ af::join方法的具体用法?C++ af::join怎么用?C++ af::join使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类af
的用法示例。
在下文中一共展示了af::join方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: array
TEST(MatrixManipulation, SNIPPET_matrix_manipulation_join) {
//! [ex_matrix_manipulation_join]
float hA[] = {1, 2, 3, 4, 5, 6};
float hB[] = {10, 20, 30, 40, 50, 60, 70, 80, 90};
array A = array(3, 2, hA);
array B = array(3, 3, hB);
af_print(join(1, A, B)); // 3x5 matrix
// array result = join(0, A, B); // fail: dimension mismatch
//! [ex_matrix_manipulation_join]
array out = join(1, A, B);
vector<float> h_out(out.elements());
out.host(&h_out.front());
af_print(out);
ASSERT_EQ(3, out.dims(0));
ASSERT_EQ(5, out.dims(1));
unsigned fdim = out.dims(0);
unsigned sdim = out.dims(1);
for (unsigned i = 0; i < sdim; i++) {
for (unsigned j = 0; j < fdim; j++) {
if (i < 2) {
ASSERT_FLOAT_EQ(hA[i * fdim + j], h_out[i * fdim + j])
<< "At [" << i << ", " << j << "]";
} else {
ASSERT_FLOAT_EQ(hB[(i - 2) * fdim + j], h_out[i * fdim + j])
<< "At [" << i << ", " << j << "]";
}
}
}
}
示例2: deviceGC
TEST(Join, JoinLargeDim) {
using af::constant;
using af::deviceGC;
using af::span;
// const int nx = 32;
const int nx = 1;
const int ny = 4 * 1024 * 1024;
const int nw = 4 * 1024 * 1024;
deviceGC();
{
array in = randu(nx, ny, u8);
array joined = join(0, in, in);
dim4 in_dims = in.dims();
dim4 joined_dims = joined.dims();
ASSERT_EQ(2 * in_dims[0], joined_dims[0]);
ASSERT_EQ(0.f, sum<float>((joined(0, span) - joined(1, span)).as(f32)));
array in2 = constant(1, (dim_t)nx, (dim_t)ny, (dim_t)2, (dim_t)nw, u8);
joined = join(3, in, in);
in_dims = in.dims();
joined_dims = joined.dims();
ASSERT_EQ(2 * in_dims[3], joined_dims[3]);
}
}
示例3: randu
TEST(JoinMany0, CPP) {
array a0 = randu(10, 5);
array a1 = randu(20, 5);
array a2 = randu(5, 5);
array output = join(0, a0, a1, a2);
array gold = join(0, a0, join(0, a1, a2));
ASSERT_EQ(sum<float>(output - gold), 0);
}
示例4: join
///////////////////////////////// CPP ////////////////////////////////////
//
TEST(Join, CPP) {
const unsigned resultIdx = 2;
const unsigned dim = 2;
vector<dim4> numDims;
vector<vector<float> > in;
vector<vector<float> > tests;
readTests<float, float, int>(string(TEST_DIR "/join/join_big.test"),
numDims, in, tests);
dim4 i0dims = numDims[0];
dim4 i1dims = numDims[3];
array input0(i0dims, &(in[0].front()));
array input1(i1dims, &(in[3].front()));
array output = join(dim, input0, input1);
dim4 goldDims = i0dims;
goldDims[dim] = i0dims[dim] + i1dims[dim];
ASSERT_VEC_ARRAY_EQ(tests[resultIdx], goldDims, output);
}