# -*- coding: utf-8 -*-
"""
Created on Sat Apr 4 22:49:16 2020
"""
#%% imports
from __future__ import absolute_import, division, print_function, unicode_literals
import os
import sys
from IPython import get_ipython
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import tensorflow as tf
tf.keras.backend.set_floatx('float32')
#%% load data
CSV_COLUMN_NAMES = ['havg', 'tavg', 'ep', 'sp', 'ft']
DFTRAIN = pd.read_csv("C:/src/python/small_train.csv", names=CSV_COLUMN_NAMES, header=0)
DFEVAL = pd.read_csv("C:/src/python/small_test.csv", names=CSV_COLUMN_NAMES, header=0)
#%% set label col
Y_TRAIN = DFTRAIN.pop('ft')
Y_EVAL = DFEVAL.pop('ft')
# no category cols yet
CATAGORICAL_COLUMNS = []
NUMERIC_COLUMNS = ['havg', 'tavg', 'ep', 'sp']
FEATURE_COLS = []
for feature_name in CATAGORICAL_COLUMNS:
vocabulary = DFTRAIN[feature_name].unique()
FEATURE_COLS.append(
tf.feature_column.categorical_column_with_vocabulary_list(feature_name, vocabulary)
)
for feature_name in NUMERIC_COLUMNS:
FEATURE_COLS.append(tf.feature_column.numeric_column(feature_name, dtype=tf.float32))
#%% set functions
def make_input_fn(data_df, label_df, num_epochs=10, shuffle=True, batch_size=10):
def input_function():
d_s = tf.data.Dataset.from_tensor_slices((dict(data_df), label_df))
if shuffle:
d_s = d_s.shuffle(20)
d_s = d_s.batch(batch_size).repeat(num_epochs)
return d_s
return input_function
TRAIN_INPUT_FN = make_input_fn(DFTRAIN, Y_TRAIN)
EVAL_INPUT_FN = make_input_fn(DFEVAL, Y_EVAL, num_epochs=1, shuffle=False)
#%% make estimator
LINEAR_EST = tf.estimator.LinearClassifier(feature_columns=FEATURE_COLS, model_dir='C:\src\python\output')
#%% training
# trouble here
get_ipython().magic('clear')
LINEAR_EST.train(TRAIN_INPUT_FN)
#%% test results
#get_ipython().magic('clear')
#RESULT = LINEAR_EST.evaluate(EVAL_INPUT_FN)
#print(FEATURE_COLS)
#print(RESULT['accuracy'])
INFO:tensorflow:Calling model_fn.
WARNING:tensorflow:Layer linear/linear_model is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2. The layer has dtype float32 because it's dtype defaults to floatx.
If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.
To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from C:/src/python/output\model.ckpt-0
Traceback (most recent call last):
File "....\lib\site-packages\tensorflow_core\python\client\session.py", line 1367, in _do_call
return fn(*args)
File "....\lib\site-packages\tensorflow_core\python\client\session.py", line 1352, in _run_fn
target_list, run_metadata)
File "....\lib\site-packages\tensorflow_core\python\client\session.py", line 1445, in _call_tf_sessionrun
run_metadata)
NotFoundError: Key linear/linear_model/bias_weights not found in checkpoint
[[{{node save/RestoreV2}}]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 1290, in restore
{self.saver_def.filename_tensor_name: save_path})
File "....\lib\site-packages\tensorflow_core\python\client\session.py", line 960, in run
run_metadata_ptr)
File "....\lib\site-packages\tensorflow_core\python\client\session.py", line 1183, in _run
feed_dict_tensor, options, run_metadata)
File "....\lib\site-packages\tensorflow_core\python\client\session.py", line 1361, in _do_run
run_metadata)
File "....\lib\site-packages\tensorflow_core\python\client\session.py", line 1386, in _do_call
raise type(e)(node_def, op, message)
NotFoundError: Key linear/linear_model/bias_weights not found in checkpoint
[[node save/RestoreV2 (defined at ....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py:1493) ]]
Original stack trace for 'save/RestoreV2':
File "....\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "....\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "....\lib\site-packages\spyder_kernels\console\__main__.py", line 11, in <module>
start.main()
File "....\lib\site-packages\spyder_kernels\console\start.py", line 319, in main
kernel.start()
File "....\lib\site-packages\ipykernel\kernelapp.py", line 583, in start
self.io_loop.start()
File "....\lib\site-packages\tornado\platform\asyncio.py", line 149, in start
self.asyncio_loop.run_forever()
File "....\lib\asyncio\base_events.py", line 541, in run_forever
self._run_once()
File "....\lib\asyncio\base_events.py", line 1786, in _run_once
handle._run()
File "....\lib\asyncio\events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "....\lib\site-packages\tornado\ioloop.py", line 690, in <lambda>
lambda f: self._run_callback(functools.partial(callback, future))
File "....\lib\site-packages\tornado\ioloop.py", line 743, in _run_callback
ret = callback()
File "....\lib\site-packages\tornado\gen.py", line 787, in inner
self.run()
File "....\lib\site-packages\tornado\gen.py", line 748, in run
yielded = self.gen.send(value)
File "....\lib\site-packages\ipykernel\kernelbase.py", line 361, in process_one
yield gen.maybe_future(dispatch(*args))
File "....\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "....\lib\site-packages\ipykernel\kernelbase.py", line 268, in dispatch_shell
yield gen.maybe_future(handler(stream, idents, msg))
File "....\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "....\lib\site-packages\ipykernel\kernelbase.py", line 541, in execute_request
user_expressions, allow_stdin,
File "....\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "....\lib\site-packages\ipykernel\ipkernel.py", line 300, in do_execute
res = shell.run_cell(code, store_history=store_history, silent=silent)
File "....\lib\site-packages\ipykernel\zmqshell.py", line 536, in run_cell
return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 2858, in run_cell
raw_cell, store_history, silent, shell_futures)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 2886, in _run_cell
return runner(coro)
File "....\lib\site-packages\IPython\core\async_helpers.py", line 68, in _pseudo_sync_runner
coro.send(None)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 3063, in run_cell_async
interactivity=interactivity, compiler=compiler, result=result)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 3254, in run_ast_nodes
if (await self.run_code(code, result, async_=asy)):
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 3331, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-20-8bd19fd5c6c6>", line 1, in <module>
runfile('C:/src/python/tf_linear.py', wdir='C:/src/python')
File "....\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 562, in runfile
exec_code(file_code, filename, ns_globals, ns_locals)
File "....\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 463, in exec_code
exec(compiled, ns_globals, ns_locals)
File "C:\src\python\tf_linear.py", line 56, in <module>
LINEAR_EST.train(TRAIN_INPUT_FN)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 374, in train
loss = self._train_model(input_fn, hooks, saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1164, in _train_model
return self._train_model_default(input_fn, hooks, saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1198, in _train_model_default
saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1493, in _train_with_estimator_spec
log_step_count_steps=log_step_count_steps) as mon_sess:
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 604, in MonitoredTrainingSession
stop_grace_period_secs=stop_grace_period_secs)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1038, in __init__
stop_grace_period_secs=stop_grace_period_secs)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 749, in __init__
self._sess = _RecoverableSession(self._coordinated_creator)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1231, in __init__
_WrappedSession.__init__(self, self._create_session())
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1236, in _create_session
return self._sess_creator.create_session()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 902, in create_session
self.tf_sess = self._session_creator.create_session()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 660, in create_session
self._scaffold.finalize()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 243, in finalize
self._saver.build()
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 840, in build
self._build(self._filename, build_save=True, build_restore=True)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 878, in _build
build_restore=build_restore)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 502, in _build_internal
restore_sequentially, reshape)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 381, in _AddShardedRestoreOps
name="restore_shard"))
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 328, in _AddRestoreOps
restore_sequentially)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 575, in bulk_restore
return io_ops.restore_v2(filename_tensor, names, slices, dtypes)
File "....\lib\site-packages\tensorflow_core\python\ops\gen_io_ops.py", line 1505, in restore_v2
name=name)
File "....\lib\site-packages\tensorflow_core\python\framework\op_def_library.py", line 742, in _apply_op_helper
attrs=attr_protos, op_def=op_def)
File "....\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3322, in _create_op_internal
op_def=op_def)
File "....\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1756, in __init__
self._traceback = tf_stack.extract_stack()
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "....\lib\site-packages\tensorflow_core\python\training\py_checkpoint_reader.py", line 70, in get_tensor
self, compat.as_bytes(tensor_str))
RuntimeError: Key _CHECKPOINTABLE_OBJECT_GRAPH not found in checkpoint
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 1300, in restore
names_to_keys = object_graph_key_mapping(save_path)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 1618, in object_graph_key_mapping
object_graph_string = reader.get_tensor(trackable.OBJECT_GRAPH_PROTO_KEY)
File "....\lib\site-packages\tensorflow_core\python\training\py_checkpoint_reader.py", line 74, in get_tensor
error_translator(e)
File "....\lib\site-packages\tensorflow_core\python\training\py_checkpoint_reader.py", line 35, in error_translator
raise errors_impl.NotFoundError(None, None, error_message)
NotFoundError: Key _CHECKPOINTABLE_OBJECT_GRAPH not found in checkpoint
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\src\python\tf_linear.py", line 56, in <module>
LINEAR_EST.train(TRAIN_INPUT_FN)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 374, in train
loss = self._train_model(input_fn, hooks, saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1164, in _train_model
return self._train_model_default(input_fn, hooks, saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1198, in _train_model_default
saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1493, in _train_with_estimator_spec
log_step_count_steps=log_step_count_steps) as mon_sess:
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 604, in MonitoredTrainingSession
stop_grace_period_secs=stop_grace_period_secs)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1038, in __init__
stop_grace_period_secs=stop_grace_period_secs)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 749, in __init__
self._sess = _RecoverableSession(self._coordinated_creator)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1231, in __init__
_WrappedSession.__init__(self, self._create_session())
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1236, in _create_session
return self._sess_creator.create_session()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 902, in create_session
self.tf_sess = self._session_creator.create_session()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 669, in create_session
init_fn=self._scaffold.init_fn)
File "....\lib\site-packages\tensorflow_core\python\training\session_manager.py", line 294, in prepare_session
config=config)
File "....\lib\site-packages\tensorflow_core\python\training\session_manager.py", line 224, in _restore_checkpoint
saver.restore(sess, ckpt.model_checkpoint_path)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 1306, in restore
err, "a Variable name or other graph key that is missing")
NotFoundError: Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:
Key linear/linear_model/bias_weights not found in checkpoint
[[node save/RestoreV2 (defined at ....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py:1493) ]]
Original stack trace for 'save/RestoreV2':
File "....\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "....\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "....\lib\site-packages\spyder_kernels\console\__main__.py", line 11, in <module>
start.main()
File "....\lib\site-packages\spyder_kernels\console\start.py", line 319, in main
kernel.start()
File "....\lib\site-packages\ipykernel\kernelapp.py", line 583, in start
self.io_loop.start()
File "....\lib\site-packages\tornado\platform\asyncio.py", line 149, in start
self.asyncio_loop.run_forever()
File "....\lib\asyncio\base_events.py", line 541, in run_forever
self._run_once()
File "....\lib\asyncio\base_events.py", line 1786, in _run_once
handle._run()
File "....\lib\asyncio\events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "....\lib\site-packages\tornado\ioloop.py", line 690, in <lambda>
lambda f: self._run_callback(functools.partial(callback, future))
File "....\lib\site-packages\tornado\ioloop.py", line 743, in _run_callback
ret = callback()
File "....\lib\site-packages\tornado\gen.py", line 787, in inner
self.run()
File "....\lib\site-packages\tornado\gen.py", line 748, in run
yielded = self.gen.send(value)
File "....\lib\site-packages\ipykernel\kernelbase.py", line 361, in process_one
yield gen.maybe_future(dispatch(*args))
File "....\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "....\lib\site-packages\ipykernel\kernelbase.py", line 268, in dispatch_shell
yield gen.maybe_future(handler(stream, idents, msg))
File "....\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "....\lib\site-packages\ipykernel\kernelbase.py", line 541, in execute_request
user_expressions, allow_stdin,
File "....\lib\site-packages\tornado\gen.py", line 209, in wrapper
yielded = next(result)
File "....\lib\site-packages\ipykernel\ipkernel.py", line 300, in do_execute
res = shell.run_cell(code, store_history=store_history, silent=silent)
File "....\lib\site-packages\ipykernel\zmqshell.py", line 536, in run_cell
return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 2858, in run_cell
raw_cell, store_history, silent, shell_futures)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 2886, in _run_cell
return runner(coro)
File "....\lib\site-packages\IPython\core\async_helpers.py", line 68, in _pseudo_sync_runner
coro.send(None)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 3063, in run_cell_async
interactivity=interactivity, compiler=compiler, result=result)
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 3254, in run_ast_nodes
if (await self.run_code(code, result, async_=asy)):
File "....\lib\site-packages\IPython\core\interactiveshell.py", line 3331, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-20-8bd19fd5c6c6>", line 1, in <module>
runfile('C:/src/python/tf_linear.py', wdir='C:/src/python')
File "....\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 562, in runfile
exec_code(file_code, filename, ns_globals, ns_locals)
File "....\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 463, in exec_code
exec(compiled, ns_globals, ns_locals)
File "C:\src\python\tf_linear.py", line 56, in <module>
LINEAR_EST.train(TRAIN_INPUT_FN)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 374, in train
loss = self._train_model(input_fn, hooks, saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1164, in _train_model
return self._train_model_default(input_fn, hooks, saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1198, in _train_model_default
saving_listeners)
File "....\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1493, in _train_with_estimator_spec
log_step_count_steps=log_step_count_steps) as mon_sess:
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 604, in MonitoredTrainingSession
stop_grace_period_secs=stop_grace_period_secs)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1038, in __init__
stop_grace_period_secs=stop_grace_period_secs)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 749, in __init__
self._sess = _RecoverableSession(self._coordinated_creator)
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1231, in __init__
_WrappedSession.__init__(self, self._create_session())
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 1236, in _create_session
return self._sess_creator.create_session()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 902, in create_session
self.tf_sess = self._session_creator.create_session()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 660, in create_session
self._scaffold.finalize()
File "....\lib\site-packages\tensorflow_core\python\training\monitored_session.py", line 243, in finalize
self._saver.build()
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 840, in build
self._build(self._filename, build_save=True, build_restore=True)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 878, in _build
build_restore=build_restore)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 502, in _build_internal
restore_sequentially, reshape)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 381, in _AddShardedRestoreOps
name="restore_shard"))
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 328, in _AddRestoreOps
restore_sequentially)
File "....\lib\site-packages\tensorflow_core\python\training\saver.py", line 575, in bulk_restore
return io_ops.restore_v2(filename_tensor, names, slices, dtypes)
File "....\lib\site-packages\tensorflow_core\python\ops\gen_io_ops.py", line 1505, in restore_v2
name=name)
File "....\lib\site-packages\tensorflow_core\python\framework\op_def_library.py", line 742, in _apply_op_helper
attrs=attr_protos, op_def=op_def)
File "....\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3322, in _create_op_internal
op_def=op_def)
File "....\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1756, in __init__
self._traceback = tf_stack.extract_stack()
- Надеюсь, это простая ошибка