/** * @license * Copyright 2019 Google LLC. 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. * ============================================================================= */ import { Scalar, Tensor } from '@tensorflow/tfjs'; import { NodeJSKernelBackend } from './nodejs_kernel_backend'; export declare class SummaryFileWriter { private readonly resourceHandle; backend: NodeJSKernelBackend; constructor(resourceHandle: Tensor); /** * Write a scalar summary. * * @param name A name of the summary. The summary tag for TensorBoard will be * this name. * @param value A real numeric scalar value, as `tf.Scalar` or a JavaScript * `number`. * @param step Required `int64`-castable, monotically-increasing step value. * @param description Optinal long-form description for this summary, as a * `string`. *Not implemented yet*. */ scalar(name: string, value: Scalar | number, step: number, description?: string): void; /** * Force summary writer to send all buffered data to storage. */ flush(): void; } /** * Create a summary file writer for TensorBoard. * * Example: * ```js * const tf = require('@tensorflow/tfjs-node'); * * const summaryWriter = tf.node.summaryFileWriter('/tmp/tfjs_tb_logdir'); * * for (let step = 0; step < 100; ++step) { * summaryWriter.scalar('dummyValue', Math.sin(2 * Math.PI * step / 8), step); * } * ``` * * @param logdir Log directory in which the summary data will be written. * @param maxQueue Maximum queue length (default: `10`). * @param flushMillis Flush every __ milliseconds (default: `120e3`, i.e, * `120` seconds). * @param filenameSuffix Suffix of the protocol buffer file names to be * written in the `logdir` (default: `.v2`). * @returns An instance of `SummaryFileWriter`. * * @doc {heading: 'TensorBoard', namespace: 'node'} */ export declare function summaryFileWriter(logdir: string, maxQueue?: number, flushMillis?: number, filenameSuffix?: string): SummaryFileWriter;