Spaces:
Build error
Build error
| /* Copyright 2015 The TensorFlow Authors. All Rights Reserved. | |
| Licensed under the Apache License, Version 2.0 (the "License"); | |
| you may not use this file except in compliance with the License. | |
| You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| ==============================================================================*/ | |
| namespace tensorflow { | |
| namespace test { | |
| namespace function { | |
| // A helper class to make AttrSlice from initializer lists | |
| class Attrs { | |
| public: | |
| Attrs(const std::initializer_list< // NOLINT(runtime/explicit) | |
| std::pair<string, FunctionDefHelper::AttrValueWrapper>>& attrs) { | |
| for (const auto& aval : attrs) { | |
| map_.insert({aval.first, aval.second.proto}); | |
| } | |
| } | |
| operator AttrSlice() { return AttrSlice(&map_); } // NOLINT(runtime/explicit) | |
| private: | |
| AttrValueMap map_; | |
| }; | |
| // Helper to construct a NodeDef. | |
| NodeDef NDef( | |
| const string& name, const string& op, gtl::ArraySlice<string> inputs, | |
| gtl::ArraySlice<std::pair<string, FunctionDefHelper::AttrValueWrapper>> | |
| attrs = {}, | |
| const string& device = ""); | |
| // Helper to construct a GraphDef proto. | |
| GraphDef GDef(gtl::ArraySlice<NodeDef> nodes, | |
| gtl::ArraySlice<FunctionDef> funcs = {}); | |
| // For testing convenience, we provide a few simple functions that can | |
| // be easily executed and tested. | |
| // x:T -> x * 2. | |
| FunctionDef XTimesTwo(); | |
| // x:T -> x * 2, where x is int32. | |
| FunctionDef XTimesTwoInt32(); | |
| // x:T -> (x * 2) * 2. | |
| FunctionDef XTimesFour(); | |
| // x:T -> ((x * 2) * 2) * 2. | |
| FunctionDef XTimes16(); | |
| // w:T, x:T, b:T -> MatMul(w, x) + b | |
| FunctionDef WXPlusB(); | |
| // x:T -> x:T, T is a type which we automatically converts to a bool. | |
| FunctionDef NonZero(); | |
| // x:T, y:T -> y:T, x:T | |
| FunctionDef Swap(); | |
| void FunctionTestSchedClosure(std::function<void()> fn); | |
| } // end namespace function | |
| } // end namespace test | |
| } // end namespace tensorflow | |