MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TEST

Function TEST

tensorflow/core/kernels/embedding_variable_memory_test.cc:45–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43}
44
45TEST(EmbeddingVariabelMemoryTest, TestMemory) {
46 int value_size = 32;
47 int64 default_value_dim = 4096;
48 int filter_freq = 2;
49 Tensor default_value(
50 DT_FLOAT, TensorShape({default_value_dim, value_size}));
51 auto default_value_matrix = default_value.matrix<float>();
52 for (int i = 0; i < default_value_dim; i++) {
53 for (int j = 0 ; j < value_size; j++) {
54 default_value_matrix(i, j) = i * value_size + j;
55 }
56 }
57
58 int num_of_ids = 1000000;
59 std::vector<int64> id_list(num_of_ids);
60 for (int i = 0; i < num_of_ids; i++) {
61 id_list[i] = i;
62 }
63 float used_mb = PerfMemory(default_value, id_list,
64 value_size, default_value_dim);
65 float theoritical_mb =
66 50 + num_of_ids * (value_size * sizeof(float)) / 1000000;
67 EXPECT_TRUE((used_mb > theoritical_mb * 0.99) &&
68 (used_mb < theoritical_mb * 1.01));
69
70 for (int i = 0; i < num_of_ids / 2; i++) {
71 id_list.emplace_back(i);
72 }
73 used_mb = PerfMemory(default_value, id_list, value_size,
74 default_value_dim, filter_freq);
75 theoritical_mb =
76 50 + num_of_ids * (8 + value_size * sizeof(float) / 2
77 + 4/*memory for ids_list*/) / 1000000;
78 EXPECT_TRUE((used_mb > theoritical_mb * 0.99) &&
79 (used_mb < theoritical_mb * 1.02));
80}
81} //namespace embedding
82} //namespace tensorflow

Callers

nothing calls this directly

Calls 3

PerfMemoryFunction · 0.85
TensorShapeClass · 0.50
emplace_backMethod · 0.45

Tested by

no test coverage detected