关于next prediction 实现遇到的问题

环境配置

1.下载anaconda的虚拟环境(由于此程序运用的是python2.7所以这里着重讲python2.7环境的配置)

参考博客:

这里是引用地址https://blog.csdn.net/qxqsunshine/article/details/82899744

*①获取anaconda的安装文件(直接使用终端命令):*
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda2-4.2.0-Linux-x86_64.sh
②安装下载的anaconda
bash Anaconda2-4.2.0-Linux-x86_64.sh
③加入环境变量
vim ~/.bashrc
export PATH=/root/anaconda2/bin:$PATH
④使命令生效
source ~/.bashrc
⑤验证是否安装成功
输入python
会出现如下信息
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul  2 2016, 17:42:40) 则表示安装成功

2.anaconda 里面创建一个新的虚拟环境

①`创建python相应版本的虚拟环境

conda create -n py2 python=2.7

其中 py2是创建的虚拟环境的名称,可以随意命名,比如:
conda create -n python2.7 python=2.7
最后面的python= 数字 是python的版本号
②激活anaconda环境

conda activate py2

py2是虚拟环境的名称

3.安装tensorflow 1.10.0 --cpu版本(任意cpu版本都是如此照搬)

①首先使用anaconda 配置tensorflow环境

conda install tensorflow==1.10.0

②安装后进行测试
同样,先输入python进入python2的界面,然后

import tensorflow
tensorflow.__version__

如果显示版本号就代表安装成功

4.安装 tensorflow 1.10.0 --gpu版本 (任意gpu版本都如此照搬)
①使用anaconda配置tensorflow-gpu环境

conda install tensorflow-gpu==1.10.0

②查看环境列表

conda list

一般安装tensorflow-gpu会附带安装cudnncudatoolkit的相关版本,但是不能保证一些被阉割过的镜像版本的tensorflow会有附带安装,所以应该查看一下,因为如果要使用gpu来运行程序,需要如下依赖:
tensorflow-gpu, cudatoolkit, cudnn, tensorflowbase
不同的 tensorflow 版本对应的cudatoolkit 和cudnn的版本可以参考以下文章:

https://blog.csdn.net/Kaicore/article/details/87867317
https://www.cnblogs.com/ranjiewen/p/8933050.html

运行代码

详细步骤可以参照开源的源码地址

https://github.com/google/next-prediction

此代码是基于2019年CVPR 李飞飞的:
Peeking into the Future: Predicting Future Person Activities and Locations in Videos
文章的实现

本文章不照搬实现程序的过程,只是对于复现代码的过程中各个步骤容易出现的问题给予提醒和着重强调

依赖环境:Python 2.7; TensorFlow == 1.10.0 (Should also work on 1.14+)

1.下载数据和模型

工程文件中的scripts 文件夹中有两个.sh文件用于下载模型和数据

download_prepared_data.sh  download_single_models.sh

进入next-prediciton-master 文件夹中打开终端,注意不要进入再下一级目录
输入命令:

bash scripts/download_single_models.sh

model 的文件夹会下载到next-prediciton-master的目录下,与code文件夹是同一级,这里很重要,注意不要搞错了路径和文件夹

同样地进入next-prediciton-master 文件夹中打开终端,注意不要进入再下一级目录
输入命令:

bash scripts/download_prepared_data.sh

data 的文件夹会下载到next-prediciton-master的目录下,与code文件夹是同一级,不要搞错了路径和文件夹
2.预训练过程–ActEv

python code/preprocess.py next-data/final_annos/actev_annos/virat_2.5fps_resized_allfeature/ \
  actev_preprocess --obs_len 8 --pred_len 12 --add_kp --kp_path next-data/final_annos/actev_annos/anno_kp/ \
  --add_scene --scene_feat_path next-data/final_annos/actev_annos/ade20k_out_36_64/ \
  --scene_map_path next-data/final_annos/actev_annos/anno_scene/ \
  --scene_id2name next-data/final_annos/actev_annos/scene36_64_id2name_top10.json \
  --scene_h 36 --scene_w 64 --video_h 1080 --video_w 1920 --add_grid \
  --add_person_box --person_box_path next-data/final_annos/actev_annos/anno_person_box/ \
  --add_other_box --other_box_path next-data/final_annos/actev_annos/anno_other_box/ \
  --add_activity --activity_path next-data/final_annos/actev_annos/anno_activity/ \
  --person_boxkey2id_p next-data/final_annos/actev_annos/person_boxkey2id.p

3.测试预训练模型–ActEv

python code/test.py actev_preprocess next-models/actev_single_model model --runId 1 \
  --load_best --is_actev --add_kp --add_activity \
  --person_feat_path next-data/actev_personboxfeat --multi_decoder

注意!!!!以上所有代码都是再进入next-prediction-master 目录进行,而不是再其他子文件夹下进行,不要cd 到 script 或者 code 文件夹里面进行

4.预训练过程–ETH/UCY

for dataset in {eth,hotel,univ,zara1,zara2};
  do
    python code/preprocess.py next-data/final_annos/ucyeth_annos/original_trajs/${dataset}/ ethucy_exp/preprocess_${dataset} \
    --person_boxkey2id next-data/final_annos/ucyeth_annos/${dataset}_person_boxkey2id.p \
    --obs_len 8 --pred_len 12 --min_ped 1 --add_scene \
    --scene_feat_path next-data/final_annos/ucyeth_annos/ade20k_e10_51_64/ \
    --scene_map_path next-data/final_annos/ucyeth_annos/scene_feat/ \
    --scene_id2name next-data/final_annos/ucyeth_annos/scene51_64_id2name_top10.json \
    --scene_h 51 --scene_w 64 --video_h 576 --video_w 720 --add_grid --add_person_box \
    --person_box_path next-data/final_annos/ucyeth_annos/person_box/ --add_other_box \
    --other_box_path next-data/final_annos/ucyeth_annos/other_box/ \
    --feature_no_split --reverse_xy --traj_pixel_lst \
    next-data/final_annos/ucyeth_annos/traj_pixels.lst ;
  done

5测试预训练模型–ETH/UCY

for dataset in {eth,hotel,univ,zara1,zara2};
  do
    python code/test.py ethucy_exp/preprocess_${dataset} next-models/ethucy_single_model/${dataset}/ model \
      --runId 1 --load_best --person_feat_path next-data/ethucy_personboxfeat/${dataset}/ \
      --scene_h 51 --scene_w 64 ;
  done

未完待续

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
next place prediction,即下一个地点预测,是指通过分析个人的行为数据,预测出其可能的下一个访问地点。 下一个地点预测的目的是为了提供个性化的服务和推荐。通过了解个人的行为模式和喜好,可以为个人提供更加贴合其需要和兴趣的推荐。 在进行下一个地点预测时,首先需要收集和处理个人的行为数据,包括位置数据、移动轨迹、历史访问记录等。通过这些数据,可以了解个人的日常活动习惯、经常去的地方、喜欢的景点等信息。 接下来,可以利用机器学习和数据挖掘的方法对这些数据进行分析和建模。可以使用一些常见的预测算法,如时间序列模型、马尔可夫链模型、协同过滤等,来预测个人的下一个地点。 预测的结果可以有多种形式,可以是具体的地点名称,也可以是一组可能的地点列表。为了提高预测的准确性,还可以考虑一些其他因素,如时间、天气、交通状况等。此外,还可以使用用户的社交关系和兴趣标签等信息进行预测。 下一个地点预测在很多领域都有应用。比如,在旅游行业,可以为游客提供个性化的旅游路线推荐;在社交媒体中,可以为用户推荐更加感兴趣的活动或地点;在交通领域,可以为驾驶员或乘客提供智能导航等服务。 总而言之,下一个地点预测通过分析个人的行为数据,可以预测出其可能的下一个访问地点,为用户提供个性化的服务和推荐。这一技术在众多领域都有应用前景,值得进一步研究和探索。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值