@myvillage/cli 2.5.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/agent-runtime/builtin-tools-registry.js +4 -4
- package/src/agent-runtime/builtin-tools.js +15 -8
- package/src/commands/dataset.js +7 -6
- package/src/commands/deploy.js +11 -2
- package/src/commands/model.js +9 -4
- package/src/index.js +2 -0
- package/src/utils/audio-backbone.js +194 -0
- package/src/utils/model-trainer.js +23 -10
- package/vendor/backbones/yamnet/SOURCE.md +22 -0
- package/vendor/backbones/yamnet/group1-shard1of4.bin +0 -0
- package/vendor/backbones/yamnet/group1-shard2of4.bin +0 -0
- package/vendor/backbones/yamnet/group1-shard3of4.bin +0 -0
- package/vendor/backbones/yamnet/group1-shard4of4.bin +0 -0
- package/vendor/backbones/yamnet/model.json +1 -0
package/package.json
CHANGED
|
@@ -17,16 +17,16 @@ export const DATASET_APPEND_DESCRIPTION =
|
|
|
17
17
|
'`myvillage dataset create`). `features` is text (words datasets); for a ' +
|
|
18
18
|
'table dataset, its values in column order or an object keyed by column ' +
|
|
19
19
|
'name (numbers, category text, true/false, short notes); or a local image ' +
|
|
20
|
-
'file path (image datasets — the file is ' +
|
|
21
|
-
'copied into the dataset
|
|
20
|
+
'file path (image datasets) or .wav file path (audio datasets) — the file is ' +
|
|
21
|
+
'copied into the dataset. For classification provide `label`; for ' +
|
|
22
22
|
'regression provide a numeric `target`. Data stays local; provenance ' +
|
|
23
23
|
'is recorded automatically.';
|
|
24
24
|
|
|
25
25
|
export const MODEL_PREDICT_DESCRIPTION =
|
|
26
26
|
'Run a prediction with a LOCAL trained model on this machine. `input` is ' +
|
|
27
27
|
'text (words models), the values of one table row as a list in column ' +
|
|
28
|
-
'order or an object keyed by column name (table models),
|
|
29
|
-
'models). Returns the predicted class with per-class confidence scores ' +
|
|
28
|
+
'order or an object keyed by column name (table models), a local image file path (image ' +
|
|
29
|
+
'models), or a local .wav file path (sound models). Returns the predicted class with per-class confidence scores ' +
|
|
30
30
|
'(classification) or a numeric value (regression). The model must already ' +
|
|
31
31
|
'exist (trained in the Studio Lab or via `myvillage model train`).';
|
|
32
32
|
|
|
@@ -73,7 +73,8 @@ export function getBuiltinTools(agentName, config) {
|
|
|
73
73
|
.describe(
|
|
74
74
|
'Text content for a words dataset; for a table dataset, its values in column ' +
|
|
75
75
|
'order or an object keyed by column name (numbers, category text, true/false, ' +
|
|
76
|
-
'short notes); or, for image datasets, an absolute path to a local image file (.jpg/.png)
|
|
76
|
+
'short notes); or, for image datasets, an absolute path to a local image file (.jpg/.png); ' +
|
|
77
|
+
'or, for audio datasets, an absolute path to a local .wav file.',
|
|
77
78
|
),
|
|
78
79
|
label: z.string().optional().describe('Class label (classification datasets)'),
|
|
79
80
|
target: z.number().optional().describe('Numeric target (regression datasets)'),
|
|
@@ -95,16 +96,21 @@ export function getBuiltinTools(agentName, config) {
|
|
|
95
96
|
const provenance = { source: `agent:${agentName}` };
|
|
96
97
|
const agentId = config?.man?.village_agent_id;
|
|
97
98
|
if (agentId) provenance.agentId = agentId;
|
|
98
|
-
// For image datasets, the agent passes a file path; ingest
|
|
99
|
-
// the dataset's assets/ and swap in the resulting AssetRef
|
|
100
|
-
// shared appendRows() runs (same path
|
|
99
|
+
// For image and audio datasets, the agent passes a file path; ingest
|
|
100
|
+
// each into the dataset's assets/ and swap in the resulting AssetRef
|
|
101
|
+
// before the shared appendRows() runs (same path as CLI --image/--audio).
|
|
101
102
|
const manifest = readManifest(datasetId);
|
|
102
103
|
let toAppend = rows;
|
|
103
|
-
if (manifest?.modality === 'image') {
|
|
104
|
+
if (manifest?.modality === 'image' || manifest?.modality === 'audio') {
|
|
105
|
+
const kind = manifest.modality;
|
|
104
106
|
toAppend = rows.map((r) => {
|
|
105
107
|
const path = typeof r.features === 'string' ? r.features : r.features?.path;
|
|
106
|
-
if (!path)
|
|
107
|
-
|
|
108
|
+
if (!path) {
|
|
109
|
+
throw new Error(kind === 'image'
|
|
110
|
+
? 'Image rows need a local image file path in "features".'
|
|
111
|
+
: 'Sound rows need a local .wav file path in "features".');
|
|
112
|
+
}
|
|
113
|
+
return { ...r, features: ingestAsset(datasetId, path, kind) };
|
|
108
114
|
});
|
|
109
115
|
}
|
|
110
116
|
const result = appendRows(datasetId, toAppend, provenance);
|
|
@@ -134,7 +140,8 @@ export function getBuiltinTools(agentName, config) {
|
|
|
134
140
|
])
|
|
135
141
|
.describe(
|
|
136
142
|
'Text for a words model; for a table model, its values in column order or an ' +
|
|
137
|
-
'object keyed by column name; or, for image models, an absolute path to a local image file (.jpg/.png)
|
|
143
|
+
'object keyed by column name; or, for image models, an absolute path to a local image file (.jpg/.png); ' +
|
|
144
|
+
'or, for sound models, an absolute path to a local .wav file.',
|
|
138
145
|
),
|
|
139
146
|
}),
|
|
140
147
|
execute: async ({ modelId, input }) => {
|
package/src/commands/dataset.js
CHANGED
|
@@ -89,12 +89,13 @@ export async function datasetAppendCommand(options) {
|
|
|
89
89
|
const manifest = readManifest(slug);
|
|
90
90
|
|
|
91
91
|
let rows;
|
|
92
|
-
if (options.image) {
|
|
93
|
-
// Copy the
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
if (options.image || options.audio) {
|
|
93
|
+
// Copy the picture or sound into the dataset's assets/ and reference it by AssetRef.
|
|
94
|
+
const kind = options.image ? 'image' : 'audio';
|
|
95
|
+
if (manifest.modality !== kind) {
|
|
96
|
+
throw new Error(`--${options.image ? 'image' : 'audio'} is only valid for ${kind} datasets (this one is "${manifest.modality}").`);
|
|
96
97
|
}
|
|
97
|
-
const asset = ingestAsset(slug, options.image,
|
|
98
|
+
const asset = ingestAsset(slug, options.image || options.audio, kind);
|
|
98
99
|
const row = { split: options.split || 'train', features: asset };
|
|
99
100
|
if (options.label !== undefined) row.label = options.label;
|
|
100
101
|
if (options.target !== undefined) row.target = Number(options.target);
|
|
@@ -108,7 +109,7 @@ export async function datasetAppendCommand(options) {
|
|
|
108
109
|
if (options.target !== undefined) row.target = Number(options.target);
|
|
109
110
|
rows = [row];
|
|
110
111
|
} else {
|
|
111
|
-
throw new Error('Provide --image <path> (image datasets), --file <jsonl>, or --text/--features (with --label or --target).');
|
|
112
|
+
throw new Error('Provide --image <path> (image datasets), --audio <path> (audio datasets), --file <jsonl>, or --text/--features (with --label or --target).');
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
if (options.replace && !options.file) {
|
package/src/commands/deploy.js
CHANGED
|
@@ -257,7 +257,7 @@ async function deployThreeJsGame(projectDir, pkg, options = {}) {
|
|
|
257
257
|
const metadata = {
|
|
258
258
|
title: pkg.myvillage.name || pkg.name,
|
|
259
259
|
description: pkg.description || '',
|
|
260
|
-
category: (pkg.myvillage.
|
|
260
|
+
category: toGameCategory(pkg.myvillage.category || pkg.myvillage.gameType),
|
|
261
261
|
gameType: 'THREE_JS',
|
|
262
262
|
targetAge: pkg.myvillage.targetAge || 'all',
|
|
263
263
|
orientation: pkg.myvillage.orientation || 'landscape',
|
|
@@ -521,7 +521,7 @@ async function deployUnityPlatform(projectDir, mvConfig, platform, { gameIdOverr
|
|
|
521
521
|
const metadata = {
|
|
522
522
|
title: mvConfig.name,
|
|
523
523
|
description: mvConfig.description || '',
|
|
524
|
-
category: (mvConfig.category
|
|
524
|
+
category: toGameCategory(mvConfig.category),
|
|
525
525
|
gameType,
|
|
526
526
|
targetAge: mvConfig.targetAge || 'all',
|
|
527
527
|
orientation: mvConfig.orientation || (platform === 'webgl' ? 'landscape' : 'portrait'),
|
|
@@ -775,6 +775,15 @@ function formatStatus(status) {
|
|
|
775
775
|
}
|
|
776
776
|
}
|
|
777
777
|
|
|
778
|
+
// The platform's GameCategory enum. A Three.js "custom" type (the create-game
|
|
779
|
+
// default) isn't one, and sending it as-is fails the deploy server-side.
|
|
780
|
+
const GAME_CATEGORIES = ['ACTION', 'PUZZLE', 'ADVENTURE', 'EDUCATION', 'QUIZ', 'EXPLORATION', 'NARRATIVE', 'OTHER'];
|
|
781
|
+
|
|
782
|
+
export function toGameCategory(raw) {
|
|
783
|
+
const v = String(raw || '').trim().toUpperCase();
|
|
784
|
+
return GAME_CATEGORIES.includes(v) ? v : 'OTHER';
|
|
785
|
+
}
|
|
786
|
+
|
|
778
787
|
function getContentType(filePath) {
|
|
779
788
|
const ext = filePath.split('.').pop()?.toLowerCase();
|
|
780
789
|
const types = {
|
package/src/commands/model.js
CHANGED
|
@@ -57,7 +57,7 @@ export async function modelTrainCommand(options) {
|
|
|
57
57
|
const m = record.metrics;
|
|
58
58
|
if (m.accuracy != null) info(` accuracy: ${(m.accuracy * 100).toFixed(1)}% over ${m.classes} classes`);
|
|
59
59
|
if (m.mae != null) info(` MAE: ${m.mae} · R²: ${m.r2}`);
|
|
60
|
-
const testFlag = manifest.modality === 'image' ? '--image <path>' : '--input "..."';
|
|
60
|
+
const testFlag = manifest.modality === 'image' ? '--image <path>' : manifest.modality === 'audio' ? '--audio <file.wav>' : '--input "..."';
|
|
61
61
|
info(` test it: myvillage model predict ${manifest.slug} ${testFlag}`);
|
|
62
62
|
} catch (e) {
|
|
63
63
|
if (options.json) process.stdout.write(JSON.stringify({ type: 'error', error: e.message }) + '\n');
|
|
@@ -123,11 +123,16 @@ export async function modelPredictCommand(slug, options) {
|
|
|
123
123
|
try {
|
|
124
124
|
if (!modelExists(slug)) throw new Error(`Model "${slug}" not found.`);
|
|
125
125
|
const record = readModelManifest(slug);
|
|
126
|
-
// Image models take a file path (--image); text/tabular take --input.
|
|
126
|
+
// Image and sound models take a file path (--image / --audio); text/tabular take --input.
|
|
127
127
|
const isImage = record.modality === 'image';
|
|
128
|
-
const
|
|
128
|
+
const isAudio = record.modality === 'audio';
|
|
129
|
+
const input = isImage ? options.image : isAudio ? options.audio : options.input;
|
|
129
130
|
if (input === undefined) {
|
|
130
|
-
throw new Error(
|
|
131
|
+
throw new Error(
|
|
132
|
+
isImage ? '--image <path> is required for image models.'
|
|
133
|
+
: isAudio ? '--audio <file.wav> is required for sound models.'
|
|
134
|
+
: '--input <value> is required.',
|
|
135
|
+
);
|
|
131
136
|
}
|
|
132
137
|
const model = await loadModel(slug);
|
|
133
138
|
const result = await predictWithModel(model, record, input);
|
package/src/index.js
CHANGED
|
@@ -1005,6 +1005,7 @@ export function run() {
|
|
|
1005
1005
|
.requiredOption('--dataset <slug>', 'Target dataset slug')
|
|
1006
1006
|
.option('--file <path>', 'JSONL file of rows ({features,label|target,split})')
|
|
1007
1007
|
.option('--image <path>', 'Image file to add (image datasets); copied into the dataset')
|
|
1008
|
+
.option('--audio <path>', 'WAV file to add (audio datasets); copied into the dataset')
|
|
1008
1009
|
.option('--text <text>', 'Single-row text features')
|
|
1009
1010
|
.option('--features <value>', 'Single-row features (string; numbers for a table, or JSON for a typed table)')
|
|
1010
1011
|
.option('--label <label>', 'Class label (classification)')
|
|
@@ -1084,6 +1085,7 @@ export function run() {
|
|
|
1084
1085
|
.description('Run a prediction with a trained model')
|
|
1085
1086
|
.option('--input <value>', 'Input: text; comma-separated numbers for a table; or JSON for a typed table')
|
|
1086
1087
|
.option('--image <path>', 'Image file to classify (image models)')
|
|
1088
|
+
.option('--audio <path>', 'WAV file to classify (sound models)')
|
|
1087
1089
|
.option('--json', 'Output raw JSON')
|
|
1088
1090
|
.action(modelPredictCommand);
|
|
1089
1091
|
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sound feature-extractor for the Studio "Lab" pillar.
|
|
3
|
+
*
|
|
4
|
+
* Turns a WAV file into a fixed-length embedding using YAMNet, which is
|
|
5
|
+
* **bundled inside this package** (vendor/backbones/yamnet/) and loaded from
|
|
6
|
+
* disk — never downloaded — the same way image-backbone.js bundles MobileNet.
|
|
7
|
+
*
|
|
8
|
+
* Pipeline: read the WAV (pure JS, any common PCM or float format) → mix to
|
|
9
|
+
* mono → keep the first MAX_SECONDS → resample to 16 kHz → YAMNet → one
|
|
10
|
+
* 1024-d embedding per 0.48 s frame → averaged into a single 1024-d vector.
|
|
11
|
+
*
|
|
12
|
+
* The embedding feeds the SAME dense head the other modalities train; sound
|
|
13
|
+
* only adds this featurization step. Studio records clips as 16-bit mono WAV,
|
|
14
|
+
* so WAV is the only format read here. tfjs is imported lazily.
|
|
15
|
+
*/
|
|
16
|
+
import { readFileSync, existsSync } from 'fs';
|
|
17
|
+
import { join, dirname } from 'path';
|
|
18
|
+
import { fileURLToPath } from 'url';
|
|
19
|
+
|
|
20
|
+
export const BACKBONE_ID = 'yamnet';
|
|
21
|
+
export const SAMPLE_RATE = 16000;
|
|
22
|
+
export const EMBED_DIM = 1024;
|
|
23
|
+
/** Only the start of a long clip is used, so training and predicting stay quick. */
|
|
24
|
+
export const MAX_SECONDS = 10;
|
|
25
|
+
const EMBEDDINGS_OUTPUT = 'Identity_1';
|
|
26
|
+
|
|
27
|
+
const BACKBONE_DIR = join(dirname(fileURLToPath(import.meta.url)), '..', '..', 'vendor', 'backbones', BACKBONE_ID);
|
|
28
|
+
|
|
29
|
+
let _backbonePromise = null;
|
|
30
|
+
|
|
31
|
+
/** A GraphModel IOHandler reading the vendored files off disk (see image-backbone.js). */
|
|
32
|
+
function diskGraphHandler(dir) {
|
|
33
|
+
return {
|
|
34
|
+
load: async () => {
|
|
35
|
+
const manifestPath = join(dir, 'model.json');
|
|
36
|
+
if (!existsSync(manifestPath)) {
|
|
37
|
+
throw new Error(
|
|
38
|
+
`Bundled sound backbone not found at ${dir}. The YAMNet weights ship ` +
|
|
39
|
+
'inside @myvillage/cli (vendor/backbones/); reinstall the CLI if this is missing.',
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
const j = JSON.parse(readFileSync(manifestPath, 'utf-8'));
|
|
43
|
+
const specs = [];
|
|
44
|
+
const buffers = [];
|
|
45
|
+
for (const grp of j.weightsManifest) {
|
|
46
|
+
for (const p of grp.paths) buffers.push(readFileSync(join(dir, p)));
|
|
47
|
+
specs.push(...grp.weights);
|
|
48
|
+
}
|
|
49
|
+
const concat = Buffer.concat(buffers);
|
|
50
|
+
return {
|
|
51
|
+
modelTopology: j.modelTopology,
|
|
52
|
+
weightSpecs: specs,
|
|
53
|
+
weightData: concat.buffer.slice(concat.byteOffset, concat.byteOffset + concat.byteLength),
|
|
54
|
+
format: j.format,
|
|
55
|
+
generatedBy: j.generatedBy,
|
|
56
|
+
convertedBy: j.convertedBy,
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async function getBackbone() {
|
|
63
|
+
if (!_backbonePromise) {
|
|
64
|
+
_backbonePromise = (async () => {
|
|
65
|
+
const tf = await import('@tensorflow/tfjs');
|
|
66
|
+
await tf.setBackend('cpu');
|
|
67
|
+
await tf.ready();
|
|
68
|
+
return tf.loadGraphModel(diskGraphHandler(BACKBONE_DIR));
|
|
69
|
+
})().catch((e) => {
|
|
70
|
+
_backbonePromise = null;
|
|
71
|
+
throw e;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return _backbonePromise;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* A WAV file's bytes → { sampleRate, samples: Float32Array (mono, [-1, 1]) }.
|
|
79
|
+
* Reads 8/16/24/32-bit PCM and 32/64-bit float, any number of channels
|
|
80
|
+
* (mixed down by averaging), including WAVE_FORMAT_EXTENSIBLE files.
|
|
81
|
+
*/
|
|
82
|
+
export function decodeWav(buf) {
|
|
83
|
+
const bytes = buf instanceof Uint8Array ? buf : new Uint8Array(buf);
|
|
84
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
85
|
+
const tag = (at) => String.fromCharCode(bytes[at], bytes[at + 1], bytes[at + 2], bytes[at + 3]);
|
|
86
|
+
if (bytes.length < 12 || tag(0) !== 'RIFF' || tag(8) !== 'WAVE') {
|
|
87
|
+
throw new Error('That sound isn\'t a WAV file. Record it in Studio, or save it as WAV first.');
|
|
88
|
+
}
|
|
89
|
+
let fmt = null;
|
|
90
|
+
let data = null;
|
|
91
|
+
for (let at = 12; at + 8 <= bytes.length; ) {
|
|
92
|
+
const id = tag(at);
|
|
93
|
+
const size = view.getUint32(at + 4, true);
|
|
94
|
+
const body = at + 8;
|
|
95
|
+
if (id === 'fmt ') {
|
|
96
|
+
let format = view.getUint16(body, true);
|
|
97
|
+
// WAVE_FORMAT_EXTENSIBLE: the real format is the first 2 bytes of the sub-format GUID.
|
|
98
|
+
if (format === 0xfffe && size >= 26) format = view.getUint16(body + 24, true);
|
|
99
|
+
fmt = {
|
|
100
|
+
format,
|
|
101
|
+
channels: view.getUint16(body + 2, true),
|
|
102
|
+
sampleRate: view.getUint32(body + 4, true),
|
|
103
|
+
bits: view.getUint16(body + 14, true),
|
|
104
|
+
};
|
|
105
|
+
} else if (id === 'data') {
|
|
106
|
+
data = { start: body, length: Math.min(size, bytes.length - body) };
|
|
107
|
+
}
|
|
108
|
+
at = body + size + (size % 2); // chunks are padded to an even length
|
|
109
|
+
}
|
|
110
|
+
if (!fmt || !data) throw new Error('That WAV file is missing its sound data.');
|
|
111
|
+
const { format, channels, sampleRate, bits } = fmt;
|
|
112
|
+
const pcm = format === 1;
|
|
113
|
+
const float = format === 3;
|
|
114
|
+
if (!(pcm && [8, 16, 24, 32].includes(bits)) && !(float && (bits === 32 || bits === 64))) {
|
|
115
|
+
throw new Error('That WAV file uses a format Studio can\'t read. Save it as 16-bit PCM WAV.');
|
|
116
|
+
}
|
|
117
|
+
if (!channels || !sampleRate) throw new Error('That WAV file looks damaged.');
|
|
118
|
+
const width = bits / 8;
|
|
119
|
+
const frames = Math.floor(data.length / (width * channels));
|
|
120
|
+
const read = (o) => {
|
|
121
|
+
if (float) return bits === 32 ? view.getFloat32(o, true) : view.getFloat64(o, true);
|
|
122
|
+
if (bits === 8) return (bytes[o] - 128) / 128;
|
|
123
|
+
if (bits === 16) return view.getInt16(o, true) / 32768;
|
|
124
|
+
if (bits === 24) {
|
|
125
|
+
const v = bytes[o] | (bytes[o + 1] << 8) | (bytes[o + 2] << 16);
|
|
126
|
+
return (v & 0x800000 ? v - 0x1000000 : v) / 8388608;
|
|
127
|
+
}
|
|
128
|
+
return view.getInt32(o, true) / 2147483648;
|
|
129
|
+
};
|
|
130
|
+
const samples = new Float32Array(frames);
|
|
131
|
+
for (let i = 0, o = data.start; i < frames; i++) {
|
|
132
|
+
let s = 0;
|
|
133
|
+
for (let c = 0; c < channels; c++, o += width) s += read(o);
|
|
134
|
+
samples[i] = s / channels;
|
|
135
|
+
}
|
|
136
|
+
return { sampleRate, samples };
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Mono samples at any rate → the first MAX_SECONDS at 16 kHz. Going down, each
|
|
141
|
+
* output sample averages the input samples it covers (a box filter, so higher
|
|
142
|
+
* pitches don't fold back in); going up, it interpolates linearly. No trig,
|
|
143
|
+
* so the result is the same on every computer.
|
|
144
|
+
*/
|
|
145
|
+
export function toModelRate(samples, sampleRate) {
|
|
146
|
+
const input = samples.subarray(0, Math.min(samples.length, Math.round(sampleRate * MAX_SECONDS)));
|
|
147
|
+
if (sampleRate === SAMPLE_RATE) return Float32Array.from(input);
|
|
148
|
+
const ratio = sampleRate / SAMPLE_RATE;
|
|
149
|
+
const n = Math.floor(input.length / ratio);
|
|
150
|
+
const out = new Float32Array(n);
|
|
151
|
+
if (ratio > 1) {
|
|
152
|
+
for (let k = 0; k < n; k++) {
|
|
153
|
+
const from = k * ratio;
|
|
154
|
+
const to = from + ratio;
|
|
155
|
+
let sum = 0;
|
|
156
|
+
for (let i = Math.floor(from); i < to && i < input.length; i++) {
|
|
157
|
+
const overlap = Math.min(i + 1, to) - Math.max(i, from);
|
|
158
|
+
sum += input[i] * overlap;
|
|
159
|
+
}
|
|
160
|
+
out[k] = sum / ratio;
|
|
161
|
+
}
|
|
162
|
+
} else {
|
|
163
|
+
for (let k = 0; k < n; k++) {
|
|
164
|
+
const x = k * ratio;
|
|
165
|
+
const i = Math.floor(x);
|
|
166
|
+
const t = x - i;
|
|
167
|
+
out[k] = input[i] * (1 - t) + (i + 1 < input.length ? input[i + 1] : input[i]) * t;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return out;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/** 16 kHz mono samples → the averaged 1024-d YAMNet embedding. */
|
|
174
|
+
export async function embedSamples(samples16k) {
|
|
175
|
+
if (!samples16k.length) throw new Error('That sound is empty.');
|
|
176
|
+
const tf = await import('@tensorflow/tfjs');
|
|
177
|
+
const model = await getBackbone();
|
|
178
|
+
return tf.tidy(() => {
|
|
179
|
+
const frames = model.execute(tf.tensor1d(samples16k), EMBEDDINGS_OUTPUT); // [frames, 1024]
|
|
180
|
+
return Array.from(tf.mean(frames, 0).dataSync());
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/** A WAV file → Float array of length EMBED_DIM (1024). Used by training and predict. */
|
|
185
|
+
export async function embedAudio(path) {
|
|
186
|
+
if (!existsSync(path)) throw new Error(`Sound not found: ${path}`);
|
|
187
|
+
const { samples, sampleRate } = decodeWav(readFileSync(path));
|
|
188
|
+
return embedSamples(toModelRate(samples, sampleRate));
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/** Featurization params persisted in the model record for sound models. */
|
|
192
|
+
export function audioFeaturization() {
|
|
193
|
+
return { modality: 'audio', dim: EMBED_DIM, backbone: BACKBONE_ID, sampleRate: SAMPLE_RATE, maxSeconds: MAX_SECONDS };
|
|
194
|
+
}
|
|
@@ -11,16 +11,18 @@
|
|
|
11
11
|
* tables (numbers, categories, yes/no, notes) → see table-columns.js
|
|
12
12
|
* - text: hashing vectorizer (pure JS) → dense head
|
|
13
13
|
* - image: bundled MobileNetV3-Small backbone → 1024-d embedding → dense head
|
|
14
|
-
* audio
|
|
14
|
+
* - audio: WAV → 16 kHz → bundled YAMNet backbone → averaged 1024-d embedding → dense head
|
|
15
15
|
*
|
|
16
16
|
* Transfer-learning-style split: featurize once, then train a small head. The
|
|
17
17
|
* featurization params travel in the model record so predict() needs no data.
|
|
18
|
-
* (For image, the backbone itself is bundled — see image-backbone.js
|
|
19
|
-
* embedding can always be recomputed at predict
|
|
18
|
+
* (For image and audio, the backbone itself is bundled — see image-backbone.js
|
|
19
|
+
* and audio-backbone.js — so the embedding can always be recomputed at predict
|
|
20
|
+
* time from the same weights.)
|
|
20
21
|
*/
|
|
21
22
|
import * as tf from '@tensorflow/tfjs';
|
|
22
23
|
import { readRows, getAssetPath } from './dataset-workspace.js';
|
|
23
24
|
import { embedImage, imageFeaturization } from './image-backbone.js';
|
|
25
|
+
import { embedAudio, audioFeaturization } from './audio-backbone.js';
|
|
24
26
|
import {
|
|
25
27
|
columnTypesOf,
|
|
26
28
|
fitTableFeaturization,
|
|
@@ -30,7 +32,7 @@ import {
|
|
|
30
32
|
} from './table-columns.js';
|
|
31
33
|
|
|
32
34
|
const TEXT_DIM = 1024;
|
|
33
|
-
export const TRAINABLE_MODALITIES = ['tabular', 'text', 'image'];
|
|
35
|
+
export const TRAINABLE_MODALITIES = ['tabular', 'text', 'image', 'audio'];
|
|
34
36
|
|
|
35
37
|
// ── Featurization ──────────────────────────────────────
|
|
36
38
|
|
|
@@ -46,11 +48,11 @@ function toNumericVector(features) {
|
|
|
46
48
|
throw new Error('Tabular features must be a numeric vector.');
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
/** Resolve an image row's features to an absolute file path on disk. */
|
|
50
|
-
function
|
|
51
|
+
/** Resolve an image or sound row's features to an absolute file path on disk. */
|
|
52
|
+
function assetPathOf(features, slug, what = 'Image') {
|
|
51
53
|
// Rows store an AssetRef {kind,path}; path is relative to the dataset assets/.
|
|
52
54
|
const rel = typeof features === 'string' ? features : features?.path;
|
|
53
|
-
if (!rel) throw new Error(
|
|
55
|
+
if (!rel) throw new Error(`${what} rows must reference a${what === 'Image' ? 'n image' : ' sound'} asset.`);
|
|
54
56
|
return getAssetPath(slug, rel);
|
|
55
57
|
}
|
|
56
58
|
|
|
@@ -59,9 +61,14 @@ function imagePathOf(features, slug) {
|
|
|
59
61
|
async function featurize(rows, modality, slug, manifest) {
|
|
60
62
|
if (modality === 'image') {
|
|
61
63
|
const X = [];
|
|
62
|
-
for (const r of rows) X.push(await embedImage(
|
|
64
|
+
for (const r of rows) X.push(await embedImage(assetPathOf(r.features, slug)));
|
|
63
65
|
return { X, featurization: imageFeaturization() };
|
|
64
66
|
}
|
|
67
|
+
if (modality === 'audio') {
|
|
68
|
+
const X = [];
|
|
69
|
+
for (const r of rows) X.push(await embedAudio(assetPathOf(r.features, slug, 'Sound')));
|
|
70
|
+
return { X, featurization: audioFeaturization() };
|
|
71
|
+
}
|
|
65
72
|
if (modality === 'text') {
|
|
66
73
|
return { X: rows.map((r) => vectorizeText(r.features)), featurization: { modality, dim: TEXT_DIM } };
|
|
67
74
|
}
|
|
@@ -90,7 +97,7 @@ async function featurize(rows, modality, slug, manifest) {
|
|
|
90
97
|
}
|
|
91
98
|
|
|
92
99
|
/** Featurize a single input the same way (for predict). Async because the
|
|
93
|
-
* image
|
|
100
|
+
* image and sound paths run a backbone; text/tabular resolve synchronously. */
|
|
94
101
|
export async function featurizeOne(input, featurization) {
|
|
95
102
|
if (featurization.modality === 'image') {
|
|
96
103
|
// input is an absolute image file path (CLI --image / model_predict tool).
|
|
@@ -98,6 +105,12 @@ export async function featurizeOne(input, featurization) {
|
|
|
98
105
|
if (!path) throw new Error('Image prediction needs an image file path.');
|
|
99
106
|
return embedImage(path);
|
|
100
107
|
}
|
|
108
|
+
if (featurization.modality === 'audio') {
|
|
109
|
+
// input is an absolute WAV file path (CLI --audio / model_predict tool).
|
|
110
|
+
const path = typeof input === 'string' ? input : input?.path;
|
|
111
|
+
if (!path) throw new Error('Sound prediction needs a WAV file path.');
|
|
112
|
+
return embedAudio(path);
|
|
113
|
+
}
|
|
101
114
|
if (featurization.modality === 'text') return vectorizeText(input);
|
|
102
115
|
if (featurization.columns) {
|
|
103
116
|
const names = featurization.columns.map((c) => c.name);
|
|
@@ -146,7 +159,7 @@ export async function trainModel(slug, manifest, { epochs = 40, onProgress } = {
|
|
|
146
159
|
|
|
147
160
|
if (!TRAINABLE_MODALITIES.includes(manifest.modality)) {
|
|
148
161
|
throw new Error(
|
|
149
|
-
`Training for "${manifest.modality}" datasets is coming soon —
|
|
162
|
+
`Training for "${manifest.modality}" datasets is coming soon — this version supports ${TRAINABLE_MODALITIES.join(', ')}.`,
|
|
150
163
|
);
|
|
151
164
|
}
|
|
152
165
|
const rows = readRows(slug, {});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# YAMNet (TF.js GraphModel) — vendored backbone
|
|
2
|
+
|
|
3
|
+
Bundled sound feature-extractor for the Studio "Lab" pillar audio models.
|
|
4
|
+
**Never downloaded at runtime** — shipped inside `@myvillage/cli` so the Studio
|
|
5
|
+
stays "the only thing you install" (see ed-platform docs/architecture/studio-models-pillar.md §0b, §13).
|
|
6
|
+
|
|
7
|
+
- **Model:** YAMNet (MobileNetV1-style audio event classifier trained on AudioSet)
|
|
8
|
+
- **Input:** `waveform` — 1-D float32 mono samples at **16 kHz**, in `[-1, 1]`, any length
|
|
9
|
+
- **Outputs:** `Identity` `[frames, 521]` class scores, `Identity_1` `[frames, 1024]`
|
|
10
|
+
embeddings (what we use, averaged over frames), `Identity_2` log-mel spectrogram.
|
|
11
|
+
One frame per 0.48 s of sound (0.96 s windows); a clip shorter than one window is padded.
|
|
12
|
+
- **Format:** TensorFlow.js `graph-model` (model.json + 4 weight shards, ~16 MB, float32)
|
|
13
|
+
- **Source:** Google YAMNet TF.js (`google/tfjs-model/yamnet/tfjs/1`), TF Hub / Kaggle Models
|
|
14
|
+
(`google/yamnet`), converted by TensorFlow.js Converter v2.1.0
|
|
15
|
+
- **Downloaded:** 2026-09-24 from `https://tfhub.dev/google/tfjs-model/yamnet/tfjs/1`
|
|
16
|
+
- **SHA-256:**
|
|
17
|
+
- `model.json` 552a4e59884a7fad25dbdbc1bbe75af2a416bca44de12523081d4b55606d59d3
|
|
18
|
+
- `group1-shard1of4.bin` 2ba509dbfc875e0483e5e3f6935cd9be9f986dd1219796c649422fd337dde4ca
|
|
19
|
+
- `group1-shard2of4.bin` b789c08119ef33a534475b964c25447586e18328039c06322d4b5337887d1fca
|
|
20
|
+
- `group1-shard3of4.bin` 464a4a19cfb207c81bbd6ba079d2f36402902c07faa8b6d305f438dc0ab74212
|
|
21
|
+
- `group1-shard4of4.bin` 311fcb65f9985e825a9f162b7ef82bdc81a745bff11f90bd7b1eaabbd1f55e6b
|
|
22
|
+
- **License:** Apache-2.0 (TensorFlow Hub / Google)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"format": "graph-model", "generatedBy": "2.3.0", "convertedBy": "TensorFlow.js Converter v2.1.0", "userDefinedMetadata": {"signature": {"inputs": {"waveform:0": {"name": "waveform:0", "dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "-1"}]}}}, "outputs": {"Identity:0": {"name": "Identity:0", "dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "-1"}, {"size": "521"}]}}, "Identity_1:0": {"name": "Identity_1:0", "dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "-1"}, {"size": "1024"}]}}, "Identity_2:0": {"name": "Identity_2:0", "dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "-1"}, {"size": "64"}]}}}}}, "modelTopology": {"node": [{"name": "unknown_134", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1024"}, {"size": "521"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "unknown_135", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "521"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_12/Mul_12/y", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/concat_9/axis", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_8/FloorDiv_8/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/values_1/concat_10/values_1/1", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/concat_10/axis", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3/start", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3/delta", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_14/shape/Reshape_14/shape/1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_11/AddV2_11/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}, {"size": "2"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_3/GatherV2_3/axis", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_7/Maximum_7/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_10/AddV2_10/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_12/Reshape_12/shape", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_12/Sub_12/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_7/FloorDiv_7/y", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/values_1/Sub_12/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3/size_splits", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "3"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3/split_dim", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/concat_11/axis", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack_1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack_2", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/2", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/3", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/global_average_pooling2d_1/Mean/reduction_indices", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "2"}]}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_1/MatMul_1/b", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}, {"size": "257"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/paddings/Pad_3/paddings/0_1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "2"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_10/Sub_10/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_9/Sub_9/x", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_7/Mul_7/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/concat_6/axis", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_5/FloorDiv_5/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/values_1/concat_7/values_1/1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/concat_7/axis", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2/start", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2/delta", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_8/Mul_8/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_10/shape/Reshape_10/shape/1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_8/AddV2_8/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}, {"size": "5"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_2/GatherV2_2/axis", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_6/Maximum_6/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_7/AddV2_7/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_8/Reshape_8/shape", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_8/Sub_8/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_4/FloorDiv_4/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/values_1/Sub_8/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/0/Pad_2/paddings/0/0", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_4/Maximum_4/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_5/Sub_5/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_6/Mul_6/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_RealDiv_1/RealDiv_1_recip", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/begin", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/end", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/strides", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_5/Sub_5/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_6/Sub_5/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2/size_splits", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "3"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2/split_dim", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/concat_8/axis", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_9/Mul_9/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "400"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/begin", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/end", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/strides", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_6/FloorDiv_6/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_2/MatMul_2/b", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}, {"size": "257"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_3/MatMul_3/b", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "257"}, {"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_9/AddV2_9/y", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "waveform", "op": "Placeholder", "attr": {"dtype": {"type": "DT_FLOAT"}, "shape": {"shape": {"dim": [{"size": "-1"}]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer1/conv/Conv2D_weights", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "1"}, {"size": "32"}]}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer1/conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "32"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "32"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "32"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "32"}, {"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "64"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "64"}, {"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "128"}, {"size": "1"}]}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "128"}, {"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "128"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "128"}, {"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "256"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "256"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "1024"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "1024"}, {"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/Conv2D_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise_bn_offset", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/Conv2D_weights", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_5/Shape_5", "op": "Shape", "input": ["waveform"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1", "op": "StridedSlice", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_5/Shape_5", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/begin", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/end", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/strides"], "attr": {"Index": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}, "shrink_axis_mask": {"i": "1"}, "begin_mask": {"i": "0"}, "ellipsis_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_5/Sub_5", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_5/Sub_5/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_5/Maximum_5", "op": "Maximum", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_5/Sub_5/x"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_4/Maximum_4", "op": "Maximum", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_4/Maximum_4/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_5/Sub_5"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_6/Sub_6", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_5/Maximum_5", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_6/Sub_5/x"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Cast_2/Cast_2", "op": "Cast", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_6/Sub_6"], "attr": {"DstT": {"type": "DT_FLOAT"}, "_cloned": {"b": true}, "SrcT": {"type": "DT_INT32"}, "Truncate": {"b": false}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_RealDiv_1/RealDiv_1", "op": "Mul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Cast_2/Cast_2", "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_RealDiv_1/RealDiv_1_recip"], "attr": {"T": {"type": "DT_FLOAT"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Ceil_1/Ceil_1", "op": "Ceil", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_RealDiv_1/RealDiv_1"], "attr": {"T": {"type": "DT_FLOAT"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Cast_3/Cast_3", "op": "Cast", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Ceil_1/Ceil_1"], "attr": {"SrcT": {"type": "DT_FLOAT"}, "Truncate": {"b": false}, "DstT": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_6/Mul_6", "op": "Mul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_6/Mul_6/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Cast_3/Cast_3"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_7/Sub_7", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_6/Mul_6", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_6/Sub_6"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_6/AddV2_6", "op": "AddV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_4/Maximum_4", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_7/Sub_7"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/0/Pad_2/paddings/0", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/0/Pad_2/paddings/0/0", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_6/AddV2_6"], "attr": {"N": {"i": "2"}, "_cloned": {"b": true}, "T": {"type": "DT_INT32"}, "axis": {"i": "0"}}}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/Pad_2/paddings_const_axis", "op": "Const", "input": ["^StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/0/Pad_2/paddings/0"], "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/Pad_2/paddings", "op": "ExpandDims", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/0/Pad_2/paddings/0", "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/Pad_2/paddings_const_axis"], "attr": {"Tdim": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/Pad_2", "op": "Pad", "input": ["waveform", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/Pad_2/paddings"], "attr": {"Tpaddings": {"type": "DT_INT32"}, "_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_6/Shape_6", "op": "Shape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/Pad_2"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2", "op": "SplitV", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_6/Shape_6", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2/size_splits", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2/split_dim"], "attr": {"T": {"type": "DT_INT32"}, "Tlen": {"type": "DT_INT32"}, "num_split": {"i": "3"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_2/ZerosLike_2", "op": "Const", "input": ["^StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_6/Shape_6"], "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_8/Reshape_8", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2:1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_8/Reshape_8/shape"], "attr": {"T": {"type": "DT_INT32"}, "Tshape": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Fill_2/Fill_2", "op": "Const", "input": ["^StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_2/ZerosLike_2"], "attr": {"_cloned": {"b": true}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_5/FloorDiv_5", "op": "FloorDiv", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_8/Reshape_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_5/FloorDiv_5/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_8/Sub_8", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_8/Reshape_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_8/Sub_8/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_7/Mul_7", "op": "Mul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_5/FloorDiv_5", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_7/Mul_7/y"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/values_1/concat_7/values_1", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_5/FloorDiv_5", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/values_1/concat_7/values_1/1"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "2"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_4/FloorDiv_4", "op": "FloorDiv", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_8/Sub_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_4/FloorDiv_4/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/values_1/concat_6/values_1_const_axis", "op": "Const", "input": ["^StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_7/Mul_7"], "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/concat_7", "op": "ConcatV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/values_1/concat_7/values_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2:2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/concat_7/axis"], "attr": {"N": {"i": "3"}, "_cloned": {"b": true}, "Tidx": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_7/AddV2_7", "op": "AddV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_7/AddV2_7/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_4/FloorDiv_4"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/values_1/concat_6/values_1", "op": "ExpandDims", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_7/Mul_7", "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/values_1/concat_6/values_1_const_axis"], "attr": {"_cloned": {"b": true}, "Tdim": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_6/Maximum_6", "op": "Maximum", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_6/Maximum_6/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_7/AddV2_7"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/concat_6", "op": "ConcatV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/values_1/concat_6/values_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2:2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/concat_6/axis"], "attr": {"N": {"i": "3"}, "_cloned": {"b": true}, "Tidx": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2", "op": "Range", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2/start", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_6/Maximum_6", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2/delta"], "attr": {"_cloned": {"b": true}, "Tidx": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_10/shape/Reshape_10/shape", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_6/Maximum_6", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_10/shape/Reshape_10/shape/1"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "2"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/values_1/concat_8/values_1", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_6/Maximum_6", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/values_1/Sub_8/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "2"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_StridedSlice_2/StridedSlice_2", "op": "StridedSlice", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/Pad_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_2/ZerosLike_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/concat_6", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Fill_2/Fill_2"], "attr": {"shrink_axis_mask": {"i": "0"}, "ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}, "Index": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_8/Mul_8", "op": "Mul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_8/Mul_8/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/concat_8", "op": "ConcatV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/values_1/concat_8/values_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2:2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/concat_8/axis"], "attr": {"Tidx": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}, "N": {"i": "3"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_9/Reshape_9", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_StridedSlice_2/StridedSlice_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/concat_7"], "attr": {"Tshape": {"type": "DT_INT32"}, "_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_10/Reshape_10", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_8/Mul_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_10/shape/Reshape_10/shape"], "attr": {"T": {"type": "DT_INT32"}, "Tshape": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_8/AddV2_8", "op": "AddV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_10/Reshape_10", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_8/AddV2_8/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_2/GatherV2_2", "op": "GatherV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_9/Reshape_9", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_8/AddV2_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_2/GatherV2_2/axis"], "attr": {"Tindices": {"type": "DT_INT32"}, "Tparams": {"type": "DT_FLOAT"}, "_cloned": {"b": true}, "Taxis": {"type": "DT_INT32"}, "batch_dims": {"i": "0"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_11/Reshape_11", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_2/GatherV2_2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/concat_8"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_9/Mul_9", "op": "Mul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_11/Reshape_11", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_9/Mul_9/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_8/Shape_8", "op": "Shape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_9/Mul_9"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2", "op": "StridedSlice", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_8/Shape_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/begin", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/end", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/strides"], "attr": {"shrink_axis_mask": {"i": "1"}, "begin_mask": {"i": "0"}, "ellipsis_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "_cloned": {"b": true}, "Index": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_10/Sub_10", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_10/Sub_10/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_9/Sub_9", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_9/Sub_9/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_6/FloorDiv_6", "op": "FloorDiv", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_9/Sub_9", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_6/FloorDiv_6/y"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_11/Sub_11", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_10/Sub_10", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_6/FloorDiv_6"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/paddings/1/Pad_3/paddings/1", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_6/FloorDiv_6", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_11/Sub_11"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "2"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/paddings/Pad_3/paddings", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/paddings/Pad_3/paddings/0_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/paddings/1/Pad_3/paddings/1"], "attr": {"N": {"i": "2"}, "_cloned": {"b": true}, "T": {"type": "DT_INT32"}, "axis": {"i": "0"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/Pad_3", "op": "Pad", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_9/Mul_9", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/paddings/Pad_3/paddings"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}, "Tpaddings": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_1/MatMul_1", "op": "MatMul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/Pad_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_1/MatMul_1/b"], "device": "/device:CPU:0", "attr": {"transpose_a": {"b": false}, "transpose_b": {"b": false}, "_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_2/MatMul_2", "op": "MatMul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/Pad_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_2/MatMul_2/b"], "device": "/device:CPU:0", "attr": {"T": {"type": "DT_FLOAT"}, "transpose_a": {"b": false}, "transpose_b": {"b": false}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_10/ArithmeticOptimizer/ReplaceMulWithSquare_Mul_10", "op": "Square", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_1/MatMul_1"], "attr": {"T": {"type": "DT_FLOAT"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_11/ArithmeticOptimizer/ReplaceMulWithSquare_Mul_11", "op": "Square", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_2/MatMul_2"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Add/Add", "op": "Add", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_10/ArithmeticOptimizer/ReplaceMulWithSquare_Mul_10", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_11/ArithmeticOptimizer/ReplaceMulWithSquare_Mul_11"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sqrt/Sqrt", "op": "Sqrt", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Add/Add"], "attr": {"T": {"type": "DT_FLOAT"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_3/MatMul_3", "op": "MatMul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sqrt/Sqrt", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_3/MatMul_3/b"], "device": "/device:CPU:0", "attr": {"T": {"type": "DT_FLOAT"}, "transpose_a": {"b": false}, "transpose_b": {"b": false}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_9/AddV2_9", "op": "AddV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_3/MatMul_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_9/AddV2_9/y"], "attr": {"T": {"type": "DT_FLOAT"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Log_1/Log_1", "op": "Log", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_9/AddV2_9"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_9/Shape_9", "op": "Shape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Log_1/Log_1"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "Identity_2", "op": "Identity", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Log_1/Log_1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3", "op": "SplitV", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_9/Shape_9", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3/size_splits", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3/split_dim"], "attr": {"Tlen": {"type": "DT_INT32"}, "num_split": {"i": "3"}, "_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_3/ZerosLike_3", "op": "Const", "input": ["^StatefulPartitionedCall/yamnet_frames/tf_op_layer_Shape_9/Shape_9"], "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "2"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_12/Reshape_12", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3:1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_12/Reshape_12/shape"], "attr": {"T": {"type": "DT_INT32"}, "Tshape": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Fill_3/Fill_3", "op": "Const", "input": ["^StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_3/ZerosLike_3"], "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "2"}]}}}, "dtype": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_8/FloorDiv_8", "op": "FloorDiv", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_12/Reshape_12", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_8/FloorDiv_8/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_12/Sub_12", "op": "Sub", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_12/Reshape_12", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_12/Sub_12/y"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_12/Mul_12", "op": "Mul", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_8/FloorDiv_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_12/Mul_12/y"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/values_1/concat_10/values_1", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_8/FloorDiv_8", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/values_1/concat_10/values_1/1"], "attr": {"N": {"i": "2"}, "_cloned": {"b": true}, "T": {"type": "DT_INT32"}, "axis": {"i": "0"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_7/FloorDiv_7", "op": "FloorDiv", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_12/Sub_12", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_7/FloorDiv_7/y"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/values_1/concat_9/values_1_const_axis", "op": "Const", "input": ["^StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_12/Mul_12"], "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/concat_10", "op": "ConcatV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/values_1/concat_10/values_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3:2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/concat_10/axis"], "attr": {"T": {"type": "DT_INT32"}, "N": {"i": "3"}, "_cloned": {"b": true}, "Tidx": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_10/AddV2_10", "op": "AddV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_10/AddV2_10/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_7/FloorDiv_7"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/values_1/concat_9/values_1", "op": "ExpandDims", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_12/Mul_12", "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/values_1/concat_9/values_1_const_axis"], "attr": {"_cloned": {"b": true}, "Tdim": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_7/Maximum_7", "op": "Maximum", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_7/Maximum_7/x", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_10/AddV2_10"], "attr": {"T": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/concat_9", "op": "ConcatV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/values_1/concat_9/values_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3:2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/concat_9/axis"], "attr": {"N": {"i": "3"}, "_cloned": {"b": true}, "Tidx": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3", "op": "Range", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3/start", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_7/Maximum_7", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3/delta"], "attr": {"Tidx": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_14/shape/Reshape_14/shape", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_7/Maximum_7", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_14/shape/Reshape_14/shape/1"], "attr": {"axis": {"i": "0"}, "N": {"i": "2"}, "_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/values_1/concat_11/values_1", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_7/Maximum_7", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/values_1/Sub_12/y"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "2"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_StridedSlice_3/StridedSlice_3", "op": "StridedSlice", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Log_1/Log_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_3/ZerosLike_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/concat_9", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Fill_3/Fill_3"], "attr": {"ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "_cloned": {"b": true}, "Index": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}, "shrink_axis_mask": {"i": "0"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_14/Reshape_14", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_14/shape/Reshape_14/shape"], "attr": {"Tshape": {"type": "DT_INT32"}, "_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/concat_11", "op": "ConcatV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/values_1/concat_11/values_1", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3:2", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/concat_11/axis"], "attr": {"_cloned": {"b": true}, "Tidx": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}, "N": {"i": "3"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_13/Reshape_13", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_StridedSlice_3/StridedSlice_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/concat_10"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_11/AddV2_11", "op": "AddV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_14/Reshape_14", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_11/AddV2_11/y"], "attr": {"_cloned": {"b": true}, "T": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_3/GatherV2_3", "op": "GatherV2", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_13/Reshape_13", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_11/AddV2_11", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_3/GatherV2_3/axis"], "attr": {"_cloned": {"b": true}, "Taxis": {"type": "DT_INT32"}, "batch_dims": {"i": "0"}, "Tindices": {"type": "DT_INT32"}, "Tparams": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_15/Reshape_15", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_3/GatherV2_3", "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/concat_11"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}, "_cloned": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Shape", "op": "Shape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_15/Reshape_15"], "attr": {"out_type": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice", "op": "StridedSlice", "input": ["StatefulPartitionedCall/yamnet_frames/reshape_1/Shape", "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack", "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack_1", "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack_2"], "attr": {"new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "Index": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}, "shrink_axis_mask": {"i": "1"}, "begin_mask": {"i": "0"}, "ellipsis_mask": {"i": "0"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape", "op": "Pack", "input": ["StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice", "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/1", "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/2", "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape", "op": "Reshape", "input": ["StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_3/GatherV2_3", "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer1/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape", "StatefulPartitionedCall/yamnet_frames/layer1/conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer1/conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer1/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "num_args": {"i": "1"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise_bn_offset"], "attr": {"explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "data_format": {"s": "TkhXQw=="}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise_bn_offset"], "attr": {"padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise_bn_offset"], "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise_bn_offset"], "attr": {"num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise_bn_offset"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise", "op": "FusedDepthwiseConv2dNative", "input": ["StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise_weights", "StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise_bn_offset"], "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/relu/Relu", "op": "_FusedConv2D", "input": ["StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise", "StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/Conv2D_weights", "StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/Conv2D_bn_offset"], "device": "/device:CPU:0", "attr": {"epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA==", "UmVsdQ=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/global_average_pooling2d_1/Mean", "op": "Mean", "input": ["StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/relu/Relu", "StatefulPartitionedCall/yamnet_frames/global_average_pooling2d_1/Mean/reduction_indices"], "attr": {"T": {"type": "DT_FLOAT"}, "Tidx": {"type": "DT_INT32"}, "keep_dims": {"b": false}}}, {"name": "Identity_1", "op": "Identity", "input": ["StatefulPartitionedCall/yamnet_frames/global_average_pooling2d_1/Mean"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "StatefulPartitionedCall/yamnet_frames/dense_1/BiasAdd", "op": "_FusedMatMul", "input": ["StatefulPartitionedCall/yamnet_frames/global_average_pooling2d_1/Mean", "unknown_134", "unknown_135"], "device": "/device:CPU:0", "attr": {"transpose_a": {"b": false}, "transpose_b": {"b": false}, "T": {"type": "DT_FLOAT"}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}}}, {"name": "StatefulPartitionedCall/yamnet_frames/activation_1/Sigmoid", "op": "Sigmoid", "input": ["StatefulPartitionedCall/yamnet_frames/dense_1/BiasAdd"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Identity", "op": "Identity", "input": ["StatefulPartitionedCall/yamnet_frames/activation_1/Sigmoid"], "attr": {"T": {"type": "DT_FLOAT"}}}], "library": {}, "versions": {"producer": 440}}, "weightsManifest": [{"paths": ["group1-shard1of4.bin", "group1-shard2of4.bin", "group1-shard3of4.bin", "group1-shard4of4.bin"], "weights": [{"name": "unknown_134", "shape": [1024, 521], "dtype": "float32"}, {"name": "unknown_135", "shape": [521], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_12/Mul_12/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/concat_9/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_8/FloorDiv_8/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/values_1/concat_10/values_1/1", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_10/concat_10/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3/start", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_3/Range_3/delta", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_14/shape/Reshape_14/shape/1", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_11/AddV2_11/y", "shape": [1, 2], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_3/GatherV2_3/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_7/Maximum_7/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_10/AddV2_10/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_12/Reshape_12/shape", "shape": [0], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_12/Sub_12/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_7/FloorDiv_7/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/values_1/Sub_12/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3/size_splits", "shape": [3], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_3/split_3/split_dim", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_11/concat_11/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack_1", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/strided_slice/stack_2", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/1", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/2", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/reshape_1/Reshape/shape/3", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/global_average_pooling2d_1/Mean/reduction_indices", "shape": [2], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_1/MatMul_1/b", "shape": [512, 257], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_3/paddings/Pad_3/paddings/0_1", "shape": [2], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_10/Sub_10/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_9/Sub_9/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_7/Mul_7/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/concat_6/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_5/FloorDiv_5/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/values_1/concat_7/values_1/1", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_7/concat_7/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2/start", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Range_2/Range_2/delta", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_8/Mul_8/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_10/shape/Reshape_10/shape/1", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_8/AddV2_8/y", "shape": [1, 5], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_GatherV2_2/GatherV2_2/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_6/Maximum_6/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_7/AddV2_7/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Reshape_8/Reshape_8/shape", "shape": [0], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_8/Sub_8/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_4/FloorDiv_4/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/values_1/Sub_8/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/0/Pad_2/paddings/0/0", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_4/Maximum_4/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_5/Sub_5/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_6/Mul_6/x", "shape": [], "dtype": "int32"}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_RealDiv_1/RealDiv_1_recip", "shape": [], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/begin", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/end", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_1/strided_slice_1/strides", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Maximum_5/Sub_5/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Sub_6/Sub_5/x", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2/size_splits", "shape": [3], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_split_2/split_2/split_dim", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_8/concat_8/axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Mul_9/Mul_9/y", "shape": [1, 400], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/begin", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/end", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_strided_slice_2/strided_slice_2/strides", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_FloorDiv_6/FloorDiv_6/y", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_2/MatMul_2/b", "shape": [512, 257], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_MatMul_3/MatMul_3/b", "shape": [257, 64], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_AddV2_9/AddV2_9/y", "shape": [], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer1/conv/Conv2D_weights", "shape": [3, 3, 1, 32], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/Conv2D_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer1/conv/Conv2D_bn_offset", "shape": [32], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise_weights", "shape": [3, 3, 32, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/depthwise_conv/depthwise_bn_offset", "shape": [32], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/Conv2D_weights", "shape": [1, 1, 32, 64], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer2/pointwise_conv/Conv2D_bn_offset", "shape": [64], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise_weights", "shape": [3, 3, 512, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise_weights", "shape": [3, 3, 64, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/depthwise_conv/depthwise_bn_offset", "shape": [64], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/Conv2D_weights", "shape": [1, 1, 64, 128], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer3/pointwise_conv/Conv2D_bn_offset", "shape": [128], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/depthwise_conv/depthwise_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise_weights", "shape": [3, 3, 128, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/depthwise_conv/depthwise_bn_offset", "shape": [128], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/Conv2D_weights", "shape": [1, 1, 128, 128], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer4/pointwise_conv/Conv2D_bn_offset", "shape": [128], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise_weights", "shape": [3, 3, 128, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/depthwise_conv/depthwise_bn_offset", "shape": [128], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/Conv2D_weights", "shape": [1, 1, 128, 256], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/Conv2D_weights", "shape": [1, 1, 512, 1024], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer5/pointwise_conv/Conv2D_bn_offset", "shape": [256], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise_weights", "shape": [3, 3, 256, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/depthwise_conv/depthwise_bn_offset", "shape": [256], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/Conv2D_weights", "shape": [1, 1, 256, 256], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer13/pointwise_conv/Conv2D_bn_offset", "shape": [1024], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer6/pointwise_conv/Conv2D_bn_offset", "shape": [256], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise_weights", "shape": [3, 3, 256, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/depthwise_conv/depthwise_bn_offset", "shape": [256], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/Conv2D_weights", "shape": [1, 1, 256, 512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer7/pointwise_conv/Conv2D_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise_weights", "shape": [3, 3, 1024, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise_weights", "shape": [3, 3, 512, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/depthwise_conv/depthwise_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/Conv2D_weights", "shape": [1, 1, 512, 512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer8/pointwise_conv/Conv2D_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/depthwise_conv/depthwise_bn_offset", "shape": [1024], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise_weights", "shape": [3, 3, 512, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/depthwise_conv/depthwise_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/Conv2D_weights", "shape": [1, 1, 512, 512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer9/pointwise_conv/Conv2D_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise_weights", "shape": [3, 3, 512, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/depthwise_conv/depthwise_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/Conv2D_weights", "shape": [1, 1, 512, 512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/Conv2D_weights", "shape": [1, 1, 1024, 1024], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer10/pointwise_conv/Conv2D_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise_weights", "shape": [3, 3, 512, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/depthwise_conv/depthwise_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/Conv2D_weights", "shape": [1, 1, 512, 512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer14/pointwise_conv/Conv2D_bn_offset", "shape": [1024], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer11/pointwise_conv/Conv2D_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise_weights", "shape": [3, 3, 512, 1], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/depthwise_conv/depthwise_bn_offset", "shape": [512], "dtype": "float32"}, {"name": "StatefulPartitionedCall/yamnet_frames/layer12/pointwise_conv/Conv2D_weights", "shape": [1, 1, 512, 512], "dtype": "float32"}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_Pad_2/paddings/Pad_2/paddings_const_axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_2/ZerosLike_2", "shape": [1], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Fill_2/Fill_2", "shape": [1], "dtype": "int32"}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_6/values_1/concat_6/values_1_const_axis", "shape": [], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_ZerosLike_3/ZerosLike_3", "shape": [2], "dtype": "int32"}, {"name": "StatefulPartitionedCall/yamnet_frames/tf_op_layer_Fill_3/Fill_3", "shape": [2], "dtype": "int32"}, {"name": "ConstantFolding/StatefulPartitionedCall/yamnet_frames/tf_op_layer_concat_9/values_1/concat_9/values_1_const_axis", "shape": [], "dtype": "int32"}]}]}
|