MCPcopy Index your code
hub / github.com/tensorflow/tfjs / checkUserDefinedMetadata

Function checkUserDefinedMetadata

tfjs-layers/src/user_defined_metadata.ts:30–51  ·  view source on GitHub ↗
(
    userDefinedMetadata: {}, modelName: string, checkSize = false)

Source from the content-addressed store, hash-verified

28 * @throws Error if `userDefinedMetadata` is not a plain JSON object.
29 */
30export function checkUserDefinedMetadata(
31 userDefinedMetadata: {}, modelName: string, checkSize = false): void {
32 if (userDefinedMetadata == null ||
33 typeof userDefinedMetadata !== 'object' ||
34 Object.getPrototypeOf(userDefinedMetadata) !== Object.prototype ||
35 !plainObjectCheck(userDefinedMetadata)) {
36 throw new Error(
37 'User-defined metadata is expected to be a JSON object, but is not.');
38 }
39
40 if (checkSize) {
41 const out = JSON.stringify(userDefinedMetadata);
42 if (out.length > MAX_USER_DEFINED_METADATA_SERIALIZED_LENGTH) {
43 console.warn(
44 `User-defined metadata of model "${modelName}" is too large in ` +
45 `size (length=${out.length} when serialized). It is not ` +
46 `recommended to store such large objects in user-defined metadata. ` +
47 `Please make sure its serialized length is <= ` +
48 `${MAX_USER_DEFINED_METADATA_SERIALIZED_LENGTH}.`);
49 }
50 }
51}
52
53/**
54 * Check if an input is plain JSON object or any valid subfield of it.

Callers 2

saveMethod · 0.90

Calls 1

plainObjectCheckFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…