Distributed TensorFlow:仅在一个worker中创建一个会话以打印结果

时间:2017-06-05 16:37:49

标签: python tensorflow

我只需要打印训练中分配的一些全局变量的值。关闭' MonitoredTrainingSession'后,我只使用以下方式在首席工作人员中创建了一个会话:

    if FLAGS.task_index == 0:
        with tf.Session() as sess:
            print sess.run(some_variable)

但是我一直收到错误:

  

InvalidArgumentError(参见上面的回溯):无法将设备分配给节点' save / RestoreV2_20':无法满足显式设备规范' / job:ps / task:0 / device:CPU :0'因为在此过程中没有注册与该规范匹配的设备;可用设备:/ job:localhost / replica:0 / task:0 / cpu:0

知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

  

可用设备:/ job:localhost / replica:0 / task:0 / cpu:0

它建议您使用您创建的服务器。尝试在创建会话时传递 <?php /** * Orders * * Shows orders on the account page. * * This template can be overridden by copying it to yourtheme/woocommerce/myaccount/orders.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you * (the theme developer) will need to copy the new files to your theme to * maintain compatibility. We try to do this as little as possible, but it does * happen. When this occurs the version of the template file will be bumped and * the readme will list any important changes. * * @see https://docs.woocommerce.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates * @version 2.6.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } do_action( 'woocommerce_before_account_orders', $has_orders ); ?> <?php if ( $has_orders ) : ?> <table class="woocommerce-MyAccount-orders shop_table shop_table_responsive my_account_orders account-orders-table"> <thead> <tr> <?php foreach ( wc_get_account_orders_columns() as $column_id => $column_name ) : ?> <th class="<?php echo esc_attr( $column_id ); ?>"><span class="nobr"><?php echo esc_html( $column_name ); ?></span></th> <?php endforeach; ?> </tr> </thead> <tbody> <?php foreach ( $customer_orders->orders as $customer_order ) : $order = wc_get_order( $customer_order ); $item_count = $order->get_item_count(); ?> <tr class="order"> <?php foreach ( wc_get_account_orders_columns() as $column_id => $column_name ) : ?> <td class="<?php echo esc_attr( $column_id ); ?>" data-title="<?php echo esc_attr( $column_name ); ?>"> <?php if ( has_action( 'woocommerce_my_account_my_orders_column_' . $column_id ) ) : ?> <?php do_action( 'woocommerce_my_account_my_orders_column_' . $column_id, $order ); ?> <?php elseif ( 'order-number' === $column_id ) : ?> <a href="<?php echo esc_url( $order->get_view_order_url() ); ?>"> <?php echo _x( '#', 'hash before order number', 'woocommerce' ) . $order->get_order_number(); ?> </a> <?php elseif ( 'order-date' === $column_id ) : ?> <time datetime="<?php echo date( 'Y-m-d', strtotime( $order->order_date ) ); ?>" title="<?php echo esc_attr( strtotime( $order->order_date ) ); ?>"><?php echo date_i18n( get_option( 'date_format' ), strtotime( $order->order_date ) ); ?></time> <?php elseif ( 'order-status' === $column_id ) : ?> <?php echo wc_get_order_status_name( $order->get_status() ); ?> <?php elseif ( 'order-total' === $column_id ) : ?> <?php echo sprintf( _n( '%s for %s item', '%s for %s items', $item_count, 'woocommerce' ), $order->get_formatted_order_total(), $item_count ); ?> <?php elseif ( 'order-actions' === $column_id ) : ?> <?php $actions = array( 'pay' => array( 'url' => $order->get_checkout_payment_url(), 'name' => __( 'Pay', 'woocommerce' ) ), 'view' => array( 'url' => $order->get_view_order_url(), 'name' => __( 'View', 'woocommerce' ) ), 'cancel' => array( 'url' => $order->get_cancel_order_url( wc_get_page_permalink( 'myaccount' ) ), 'name' => __( 'Cancel', 'woocommerce' ) ) ); if ( ! $order->needs_payment() ) { unset( $actions['pay'] ); } if ( ! in_array( $order->get_status(), apply_filters( 'woocommerce_valid_order_statuses_for_cancel', array( 'pending', 'failed' ), $order ) ) ) { unset( $actions['cancel'] ); } if ( $actions = apply_filters( 'woocommerce_my_account_my_orders_actions', $actions, $order ) ) { foreach ( $actions as $key => $action ) { echo '<a href="' . esc_url( $action['url'] ) . '" class="button ' . sanitize_html_class( $key ) . '">' . esc_html( $action['name'] ) . '</a>'; } } ?> <?php endif; ?> </td> <?php endforeach; ?> </tr> <?php endforeach; ?> </tbody> </table> <?php do_action( 'woocommerce_before_account_orders_pagination' ); ?> <?php if ( 1 < $customer_orders->max_num_pages ) : ?> <div class="woocommerce-Pagination"> <?php if ( 1 !== $current_page ) : ?> <a class="woocommerce-Button woocommerce-Button--previous button" href="<?php echo esc_url( wc_get_endpoint_url( 'orders', $current_page - 1 ) ); ?>"><?php _e( 'Previous', 'woocommerce' ); ?></a> <?php endif; ?> <?php if ( 1 !== $current_page ) : ?> <a class="woocommerce-Button woocommerce-Button--first-page button" href="<?php echo esc_url( wc_get_endpoint_url( 'orders', 1 ) ); ?>"><?php _e( '<<', 'woocommerce' ); ?></a> <?php endif; ?> <?php if ( $current_page !== intval( $customer_orders->max_num_pages ) ) : ?> <a class="woocommerce-Button woocommerce-Button--last-page button" href="<?php echo esc_url( wc_get_endpoint_url( 'orders', $max = intval( $customer_orders->max_num_pages ) ) ); ?>"><?php _e( '>>', 'woocommerce' ); ?></a> <?php endif; ?> <?php if ( $current_page !== intval( $customer_orders->max_num_pages ) ) : ?> <a class="woocommerce-Button woocommerce-Button--next button" href="<?php echo esc_url( wc_get_endpoint_url( 'orders', $current_page + 1 ) ); ?>"><?php _e( 'Next', 'woocommerce' ); ?></a> <?php endif; ?> </div> <?php endif; ?> <?php else : ?> <div class="woocommerce-Message woocommerce-Message--info woocommerce-info"> <a class="woocommerce-Button button" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); ?>"> <?php _e( 'Go Shop', 'woocommerce' ) ?> </a> <?php _e( 'No order has been made yet.', 'woocommerce' ); ?> </div> <?php endif; ?> <?php do_action( 'woocommerce_after_account_orders', $has_orders ); ?>

server.target