aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/grappler/costs/op_level_cost_estimator.cc
Commit message (Collapse)AuthorAge
* Add support for modeling fast memory close to the processor/gpuGravatar A. Unique TensorFlower2018-10-09
| | | | PiperOrigin-RevId: 216453979
* Consolidate device parameter arguments into a shared DeviceInfo structGravatar A. Unique TensorFlower2018-10-08
| | | | PiperOrigin-RevId: 216280197
* Directly import tensor.proto.h (the transitive import will be removed from ↵Gravatar Eugene Brevdo2018-08-23
| | | | | | | | | | tensor.h soon) We plan to remove the import variant.h from tensor.h; and variant.h brings in a lot of transitive imports (including protos like tensor.proto.h). To prepare, we're updating folks who this will break. PiperOrigin-RevId: 210043667
* Small fix to MaybeGetMinimumShape() in op_level_cost_estimator.Gravatar Doe Hyun Yoon2018-08-15
| | | | | | | | | | | | | | | (1) previously, it set unknown shape flag for scalar input, but now it returns TensorShapeProto with rank equal to the expected and all dims set to 1, and unknown shape flag is not set. (2) Also, fixed a bug; when a rank is known, but dim_size() < rank (note that dim_size() may be non-zero), we previously called add_dim() with dim 1 rank times, which then makes dim_size() is incremented by rank, but we expect dim_size() equal to rank. (3) Added test for MaybeGetMinimumShape(). PiperOrigin-RevId: 208845501
* Add two counters in Costs Struct for number of ops processed/predicted in ↵Gravatar Peter Ma2018-08-10
| | | | | | total, and number of ops predicted with unknown shapes PiperOrigin-RevId: 208274158
* Added QuantizedMatMul to OpLevelCostEstimator.Gravatar A. Unique TensorFlower2018-07-24
| | | | PiperOrigin-RevId: 205918819
* Support filter format for FusedConv2DBiasActivation.Gravatar Yao Zhang2018-06-20
| | | | PiperOrigin-RevId: 201454730
* Estimate Squeeze cost in the same way as Reshape.Gravatar Max Galkin2018-06-06
| | | | PiperOrigin-RevId: 199531069
* Expose MaybeGetMinimumShape for use in cost estimators other than ↵Gravatar A. Unique TensorFlower2018-05-11
| | | | | | OpLevelCostEstimator. PiperOrigin-RevId: 196315239
* Fix a dropped line in the DepthwiseConv2dNative modelGravatar A. Unique TensorFlower2018-05-09
| | | | PiperOrigin-RevId: 195900021
* Add cost model of depthwiseConv2dNative. Tensorflow computes depthwise ↵Gravatar A. Unique TensorFlower2018-05-08
| | | | | | separable convolutions as depthwiseConv2dNative followed by 1x1 Conv2D PiperOrigin-RevId: 195838887
* GuaranteeConst is a NoOp for the op_level_cost_estiamtor.Gravatar Max Galkin2018-05-05
| | | | PiperOrigin-RevId: 195501990
* Estimate IdentityN as Identity.Gravatar Max Galkin2018-04-17
| | | | PiperOrigin-RevId: 193207469
* Add analytical cost model for FusedConv2DBiasActivation.Gravatar Rob Sloan2018-04-06
| | | | PiperOrigin-RevId: 191978272
* TPU Cost Estimator has been modified to also account for the memory cost in ↵Gravatar A. Unique TensorFlower2018-04-06
| | | | | | the execution time. Until more sophisticated methods are added, we resort to the roofline model to calculate such cost. PiperOrigin-RevId: 191913626
* Re-enable Gather and Slice estimators with output size check.Gravatar Max Galkin2018-04-02
| | | | PiperOrigin-RevId: 191391805
* Fix a bug in AvgPoolGrad op cost in extracting input x's shape. AvgPoolGradGravatar A. Unique TensorFlower2018-04-02
| | | | | | | takes a shape tensor; hence, a value should be parsed from inputs(0) to extract correct shape of x. PiperOrigin-RevId: 191330762
* Add op cost model for MaxPool, AvgPool, FusedBatchNorm, their grad ops, andGravatar A. Unique TensorFlower2018-03-28
| | | | | | ReluGrad. PiperOrigin-RevId: 190821116
* Disable new Gather/Slice estimators for now to fix the crashes during some ↵Gravatar Max Galkin2018-03-27
| | | | | | TF graphs optimizations. PiperOrigin-RevId: 190705686
* Shorter definitions for elementwise_ops in op_level_cost_estimator.Gravatar Max Galkin2018-03-21
| | | | PiperOrigin-RevId: 189983460
* Further improve accuracy of op_level_cost_estimator (Gather, GatherV2, Slice).Gravatar Max Galkin2018-03-21
| | | | PiperOrigin-RevId: 189952132
* Improved accuracy of op_level_cost_estimator (QuantizeV2, Dequantize, Gather).Gravatar Max Galkin2018-03-20
| | | | PiperOrigin-RevId: 189779691
* Add cost estimator tests for the BiasAdd, ReLU, and Conv2D operations.Gravatar A. Unique TensorFlower2018-02-22
| | | | PiperOrigin-RevId: 186705930
* Implement the logic to parse TensorProto (the tensor value for input or ↵Gravatar A. Unique TensorFlower2018-02-22
| | | | | | filter shape info) in op_level_cost_estimator. PiperOrigin-RevId: 186685409
* Extract the filter and input shape for Conv2DBackpropFilter/Conv2DBackpropInputGravatar Benoit Steiner2018-02-13
| | | | | | from the corresponding op inputs whenever possible. PiperOrigin-RevId: 185570750
* Add more vlogging to op level estimator.Gravatar Yao Zhang2018-02-08
| | | | PiperOrigin-RevId: 185058989
* Add logging to diagnose device properties parsing problem in Grappler.Gravatar Max Galkin2018-02-05
| | | | PiperOrigin-RevId: 184594084
* Fixed the description of the fake GPU device to avoid a division by 0Gravatar Benoit Steiner2018-02-01
| | | | PiperOrigin-RevId: 184225409
* Add op level memory usage estimation to the op_level_cost_estimatorGravatar Benoit Steiner2018-01-26
| | | | PiperOrigin-RevId: 183441321
* Estimate Placeholder as a no-op.Gravatar Max Galkin2017-12-05
| | | | PiperOrigin-RevId: 177956552
* Prefix inaccurate costs with "~" in VirtualScheduler verbose log.Gravatar Max Galkin2017-12-01
| | | | | | | | | | Fix some inaccurate estimates exposed by this approach: - propagate the inaccuracy flag when merging device stats; - estimate Const as no-op; - estimate RandomUniform, Relu and Softmax as element-wise; - consider estimates accurate for known element-wise ops in op_level_cost_estimator. PiperOrigin-RevId: 177643976
* Some extra checks and warnings in grappler to provide more helpful error ↵Gravatar Max Galkin2017-11-23
| | | | | | messages when inputs are imperfect (cost_graph is empty and it causes graph_properties to be empty). PiperOrigin-RevId: 176796142
* Pass VirtualCluster to tf_optimizer to enable cross-optimization of models.Gravatar Yao Zhang2017-11-21
| | | | PiperOrigin-RevId: 176564391
* Improved encoding on shapes in grappler.Gravatar Benoit Steiner2017-11-06
| | | | PiperOrigin-RevId: 174733491
* Register a dummy estimation function for _Send ops. This ensures that we ↵Gravatar Benoit Steiner2017-10-12
| | | | | | don't get negative cost estimates for _Send ops. PiperOrigin-RevId: 171999586
* Minor code cleanup in grappler cost estimation.Gravatar Max Galkin2017-10-10
| | | | PiperOrigin-RevId: 171772766
* Define OpContext and use it for OpLevelCostEstimator.Gravatar A. Unique TensorFlower2017-09-26
| | | | | | | | This CL does not add any functionality (except GraphDef's function library pointer is passed to OpContext), but we can later add additional fields to OpContext struct for extending VirtualCluster, Scheduler, Placer, and others. PiperOrigin-RevId: 170157235
* Merge changes from github.Gravatar Shanqing Cai2017-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | END_PUBLIC --- Commit 1e1b3d902 authored by Pete Warden<pete@petewarden.com> Committed by gunan<gunan@google.com>: Changed output directory for Pi CI build to fix permissions problem with nightlies (#13257) * Fix for RTLD_GLOBAL breakage of Pi builds, and removed Eigen version change for Pi that's no longer needed * Fixed Pi Zero OpenBLAS build problems and tidied up directories used * More robust checks in Pi build script * Changed output directory for Pi CI build to fix permissions problem --- Commit fe3a2e65c authored by Yan Facai (???)<facai.yan@gmail.com> Committed by drpngx<drpngx@users.noreply.github.com>: check invalid string type for dest_nodes in extract_sub_graph (#13057) * BUG: check str type * TST: add unit test * CLN: remove list check * CLN: use warning * CLN: 2 indent * CLN: raise TypeError if not list * CLN: check string only --- Commit 225ab7629 authored by Jean Wanka<jm.wanka@gmail.com> Committed by Jean Wanka<jm.wanka@gmail.com>: Fix polynomial decay with cycle for global step=0 For polynomial decay with cycle=True the learning rate at step 0 becomes NaN, because in the process of calculating it we devide by 0. This change should fix it, by setting the multiplier for the decay steps to one for global_step=0. --- Commit 286f57061 authored by Bjarke Hammersholt Roune<broune@google.com> Committed by TensorFlower Gardener<gardener@tensorflow.org>: Make Service::TransferToClient not attempt to manipulate the literal when the transfer failed, preventing a crash and allowing the caller to see the reason for the failed transfer. PiperOrigin-RevId: 169770126 --- Commit e0501bc4d authored by Yong Tang<yong.tang.github@outlook.com> Committed by Shanqing Cai<cais@google.com>: Fix GRUBlockCell parameter naming inconsistency (#13153) * Fix GRUBlockCell parameter naming inconsistency This fix tries to fix the issue in 13137 where parameter `cell_size` is used instead of `num_units`. This is inconsistent with other RNN cells. This fix adds support of `num_units` while at the same time maintains backward compatiblility for `cell_size`. This fix fixes 13137. Signed-off-by: Yong Tang <yong.tang.github@outlook.com> * Add `@deprecated_args` for 'cell_size' in `GRUBlockCell` This commit adds `@deprecated_args` for 'cell_size' in `GRUBlockCell` Signed-off-by: Yong Tang <yong.tang.github@outlook.com> * Address review comment Signed-off-by: Yong Tang <yong.tang.github@outlook.com> --- Commit 02a2eba05 authored by Pete Warden<pete@petewarden.com> Committed by gunan<gunan@google.com>: Fix for RTLD_GLOBAL breakage of Pi builds, and removed Eigen version change that's no longer needed (#13251) * Fix for RTLD_GLOBAL breakage of Pi builds, and removed Eigen version change for Pi that's no longer needed * Fixed Pi Zero OpenBLAS build problems and tidied up directories used * More robust checks in Pi build script --- Commit 8ef722253 authored by Sanjoy Das<sanjoy@google.com> Committed by TensorFlower Gardener<gardener@tensorflow.org>: Remove a redundant setName. The EmitComputation should have emitted a function with the right name, so use a CHECK instead. PiperOrigin-RevId: 169764856 --- Commit 1b94147dc authored by Neal Wu<wun@google.com> Committed by TensorFlower Gardener<gardener@tensorflow.org>: Fix broken GitHub links in tensorflow and tensorflow_models resulting from The Great Models Move (a.k.a. the research subfolder) PiperOrigin-RevId: 169763373 --- Commit b1ada5f0c authored by Justine Tunney<jart@google.com> Committed by TensorFlower Gardener<gardener@tensorflow.org>: Fix TensorBoard python -m invoke in docs PiperOrigin-RevId: 169758752 --- Commit 2957cd894 authored by Mustafa Ispir<ispir@google.com> Committed by TensorFlower Gardener<gardener@tensorflow.org>: Local run option of estimator training. PiperOrigin-RevId: 169756384 --- Commit 1dc2fe7ac authored by Gunhan Gulsoy<gunan@google.com> Committed by TensorFlower Gardener<gardener@tensorflow.org>: BEGIN_PUBLIC Automated g4 rollback of changelist 166264198 PiperOrigin-RevId: 169998124
* Remove extra checks from Grappler MatMul estimator.Gravatar A. Unique TensorFlower2017-08-04
| | | | PiperOrigin-RevId: 164319817
* Add option to use compute_memory_overlap; if true, use max of memory_cost ↵Gravatar A. Unique TensorFlower2017-07-21
| | | | | | and compute_cost, instead of sum for op level cost in analytical cost estimator. PiperOrigin-RevId: 162782658
* Set the op cost of RefIdentity, StopGradient, and PreventGradient to zero in ↵Gravatar A. Unique TensorFlower2017-07-21
| | | | | | analytical cost estimator. PiperOrigin-RevId: 162773156
* Improve the accuracy of the cost estimates for the size, shape, and rank ops.Gravatar Benoit Steiner2017-06-29
| | | | PiperOrigin-RevId: 160587845
* Prepare to remove a bunch of proto.h includes from tensorflow/core headersGravatar Geoffrey Irving2017-06-29
| | | | | | | | | | | | The goal is to make kernels mostly independent of proto headers, which will let us lock down our .so imports. This CL does not remove any actual headers, but changes a bunch of files so that header removal is possible in a followup CL. It also marks the headers that will be removed with // TODO(b/62899350): Remove RELNOTES: n/a PiperOrigin-RevId: 160552878
* Add a standalone cost analysis tool. Improved logging.Gravatar Yao Zhang2017-06-13
| | | | PiperOrigin-RevId: 158933442
* Simplified the virtual placer codeGravatar Benoit Steiner2017-06-13
| | | | | | | Take the ceiling of the cost estimates to avoid reporting 0 costs for scalar ops that could execute in less that 1 ns. Added more stringent tests to the cost analyzer PiperOrigin-RevId: 158813405
* Don't mark costs estimates of scalar tensors as potentially inaccurate.Gravatar Benoit Steiner2017-06-12
| | | | PiperOrigin-RevId: 158771775
* Initialize found_unknown_shapes variable.Gravatar A. Unique TensorFlower2017-06-12
| | | | | | Fixes asan and msan errors in tests. PiperOrigin-RevId: 158728930
* Set inaccurate field when it should be false.Gravatar Yao Zhang2017-06-09
| | | | PiperOrigin-RevId: 158589176
* Estimate cost for element wise ops and a minimum compute cost for dummy ↵Gravatar Yao Zhang2017-06-09
| | | | | | execution time. PiperOrigin-RevId: 158585464
* Profile memory usage in VirtualScheduler and report peak memory usage.Gravatar A. Unique TensorFlower2017-06-06
| | | | | | | | | To do so, NodeState now handles different output ports of a node (in case a node has multiple outputs). Also, VirtualScheduler code is cleaned up with more comments. PiperOrigin-RevId: 158209068