import_request_variables函数说明

   关于函数import_request_variables
                                                                                                                                              
函数原型:bool import_request_variables(string $types[, string $prefix])
函数说明:将GET/POST/Cookie变量导入到全局作用域中,如果你禁止了register_globals,
但又想用到一些全局变量,则此函数很有用
                                                                                                                                              
types:指定需要导入的变量,可以用'G','P'和'C'表示GET,POST和Cookie.
prefix作为变量名的前缀,
                                                                                                                                              
<?php
//此处将导入GET和POST变量
//使用"rvar_"作为前缀
import_request_variables("gP","rvar_");
                                                                                                                                              
echo $rvar_foo;
?>
                                                                                                                                              
如果你想导入其他全局变量(例SERVER变量),可使用extract().
                                                                                                                                              
================================================================
<?php
$input = array('name'=>null,'age'=>26);
                                                                                                                                              
function extract_get() {
    global $input;
                                                                                                                                              
    if(isset($input) && is_array($input)) foreach($input as $k=>$v) {
        if(!isset($_GET[$k])) {
            $GLOBALS[$k]=$v;
            continue;
        }
        $getval=$_GET[$k];
        if($getval==null || $getval ==='') {
            $getval=$v;
        }
        elseif(is_numeric($v)) {
            $getval=(int)$getval;
        }
        elseif(get_magic_quotes_gpc() ==1) {
            $getval=stripslashes_deep($getval);
        }
        $GLOBALS[$k]=$getval;
        unset($getval);
    }
}
function stripslashes_deep($var) {
    if(!is_array($var)) {
        return stripslashes($var);
    }
    foreach($var as $k=>$v) {
        $var[$k]=stripslashes_deep($var);
    }
    return $var;
}
 
 
假设我们有一个包含100个样本的数据集,每个样本有两个特征,一个是图像数据,一个是标签。我们希望使用TensorFlow的队列机制异步读取这些数据,并进行训练。 首先,我们可以使用tf.train.slice_input_producer函数将数据集切分成若干个batch,然后每个batch通过多个线程异步读取数据: ```python import tensorflow as tf # 构造数据集 data = [] for i in range(100): image = ... # 加载图像数据 label = ... # 加载标签数据 data.append((image, label)) # 定义batch大小和线程数 batch_size = 32 num_threads = 4 # 使用slice_input_producer函数将数据集切分成若干个batch image_batch, label_batch = tf.train.slice_input_producer(data, batch_size=batch_size, num_threads=num_threads) # 定义数据预处理函数 def preprocess(image, label): # 对图像数据进行预处理 image = ... # 对标签数据进行预处理 label = ... return image, label # 使用map函数将数据预处理函数应用到每个batch中的每个样本 image_batch, label_batch = tf.map_fn(preprocess, (image_batch, label_batch)) # 定义模型 ... # 定义损失函数 ... # 定义优化器 ... # 定义训练操作 train_op = ... # 启动会话 with tf.Session() as sess: # 初始化变量 sess.run(tf.global_variables_initializer()) # 启动多线程读取数据 coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(coord=coord) # 训练模型 for i in range(num_steps): _, loss_val = sess.run([train_op, loss]) # 关闭多线程 coord.request_stop() coord.join(threads) ``` 在上面的代码中,我们首先定义了一个包含100个样本的数据集。然后,使用tf.train.slice_input_producer函数将数据集切分成若干个batch,并通过多个线程异步读取数据。接着,我们定义了一个数据预处理函数,并使用tf.map_fn函数将其应用到每个batch中的每个样本。最后,我们定义了模型、损失函数和优化器,并使用tf.Session启动会话进行训练。在训练过程中,我们启动多线程读取数据,并在训练完成后关闭多线程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值