范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

使用MindStudio进行FOMM模型推理全流程详解

  使用MindStudio进行FOMM模型推理
  使用MindStudio对FOMM模型进行ONNX推理
  本次实验使用MindStudio开发工具进行SSH远程连接、编译、开发等操作,MindStudio的安装配置请参照:
  https://www.hiascend.com/document/detail/zh/mindstudio/50RC2/progressiveknowledge/index.html
  MindStudio提供了AI开发所需的一站式开发环境,支持模型开发、算子开发以及应用开发三个主流程中的开发任务。依靠模型可视化、算力测试、IDE本地仿真调试等功能,MindStudio能够帮助您在一个工具上就能高效便捷地完成AI应用开发。MindStudio采用了插件化扩展机制,开发者可以通过开发插件来扩展已有功能。
  一、模型简介
  FOMM模型最早是Aliaksandr Siarohin等人在发表的《First Order Motion Model for Image Animation》一文中提到的用于图像动画化(image animation)的模型。图像动画化任务是指给定一张原图片和一个驱动视频,通过视频合成,生成主角为原图片,而动画效果和驱动视频一样的视频。以往的视频合成往往依赖于预训练模型来提取特定于对象的表示,而这些预训练模型是使用昂贵的真实数据注释构建的,并且通常不适用于任意对象类别。而FOMM的提出很好的解决了这个问题。
  FOMM主要依赖于两个模型:kp detector和generator。顾名思义,第一个模型的作用是关键点检测,第二个模型的作用是视频生成。而本次FOMM模型推理实验也是主要围绕这两个模型来进行。
  本文详细介绍了在310P(昇腾显卡)和T4(nvidia显卡)两种机器上,使用MindStudio对FOMM模型进行onnx模型推理的具体步骤。
  二、MindStudio项目初始化
  1 新建项目
  首先在Name一栏输入项目名:
  然后我们需要配置项目的CANN工具包依赖。尤其是我们第一次使用MindStudio的时候,这一步是不可省略的。
  选择CANN Version一栏后面的Change选项,配置我们项目的CANN工具包依赖。在该界面,首先选择我们的项目开发所使用的服务器,然后选择服务器上CANN工具包的安装路径,最后点击Finish,保存配置。
  MindStudio在创建新项目这一界面为我们提供了一个昇腾APP应用Pyhton框架空工程,这能帮助我们更加方便地管理和开发我们的应用,即下图中的ACL Project(Python),我们选择这一项,点击Finish。
  2 下载github源码仓
  进入项目界面后在底部选择"终端",执行如下命令:
  git clone https://github.com/AliaksandrSiarohin/first-order-model.git
  等待下载完成
  这里为了方便,我们将下载下来的源码从first-order-model文件夹中提出来,直接放在FOMM1(我们的项目目录)下,并删除空的first-order-model文件夹。
  3 配置conda环境,安装项目所需依赖
  源码仓的readme建议使用pip install -r requirements.txt安装项目所需依赖。
  但由于其依赖版本过低,所以此处不建议直接使用源码仓中的requirements.txt进行安装。具体依赖和版本如下:
  依赖名称
  版本
  cloudpickle
  2.1.0
  cycler
  0.11.0
  dask
  2022.2.0
  decorator
  5.1.1
  imageio
  2.21.0
  imageio-ffmpeg
  0.4.7
  kiwisolver
  1.4.4
  matplotlib
  3.3.2
  mmcv-full
  1.5.0
  networkx
  2.7.1
  numpy
  1.21.5
  onnx
  1.12.0
  onnxruntime
  1.12.1
  opencv-python
  4.6.0.66
  pandas
  1.3.5
  pillow
  9.2.0
  pycparser
  2.21
  pyparsing
  3.0.9
  python
  3.7
  pytz
  2022.1
  pytorch
  1.11.0
  pywavelets
  1.3.0
  pyyaml
  6.0
  scikit-image
  0.18.0
  scikit-learn
  1.0.2
  scipy
  1.7.3
  six
  1.16.0
  skl2onnx
  1.12
  sympy
  1.10.1
  toolz
  0.12.0
  torchaudio
  0.11.0
  torchvision
  0.12.0
  tqdm
  4.64.0
  其中需要注意的是,scikit-image的版本必须低于0.19.0。
  另外,根据源码仓readme,需要额外从github上下载一些依赖包:
  在我们的项目目录下运行如下命令:
  git clone https://github.com/1adrianb/face-alignment
  cd face-alignment
  python setup.py install
  cd ..
  git clone --recursive https://github.com/AliaksandrSiarohin/pose-evaluation
  git clone https://github.com/facebookresearch/maskrcnn-benchmark
  cd maskrcnn-benchmark
  python setup.py install
  4 下载数据集
  为了方便下载,这里提供了已经预处理好的taichi数据集(.mp4格式)。
  https://pan.baidu.com/s/1zSDFYXwrBvCfw2NAIxQAYg
  提取码:mind
  下载整个taichi文件夹,将下载后的taichi文件夹放入FOMM1/data/。
  三、配置远程服务器
  1 添加SSH配置
  点击左上角file,选择setting
  在左侧选择tools,在下拉菜单中选择SSH Configurations,点击"+"
  在新建的空白配置页面输入服务器ip,用户名,密码;
  勾选save password保存密码;
  点击test connection测试是否能连接服务器;
  最后点击下面的ok配置完成。
  配置好SSH服务器后回到项目界面,点击上方菜单栏中的tools,在下拉菜单中点击start SHH session,选择刚才配置好的SSH连接,即可成功连接SSH服务器,并弹出远程操作终端:
  2 管理CANN工具包
  如果我们在使用过程中需要更换我们所要使用的CANN工具,则可按照以下步骤更换。
  首先,如下图所示,点击MindStudio界面上端的CANN manager按钮,打开CANN管理界面:
  按下图所示,先在弹出的界面选择change CANN,然后在新弹出的界面选择我们使用的远程服务器:
  然后如下图所示,选择服务器上CANN工具包安装的目录,我这里是/home/infname46/Ascend/ascend-toolkit/5.1.RC2,选择好后点击ok:
  最后点击finish,等待部署完毕即可:
  配置好后,重启MindStudio。
  3 部署项目至服务器
  在顶部菜单栏选择Tools,在下拉菜单中选择Deployment,再选择Configuration:
  在弹出的配置页面中,首先点击"+",输入配置名称,点击OK:
  然后在右侧SSH configuration处选择项目部署的服务器,之后同样点击test Connection测试连接是否成功,然后选择Mappings配置项目映射目录:
  在mapping中配置路径映射关系,配置好后点击ok提交:
  最后,完成了服务器的一切配置之后,需要将项目部署到服务器上。在MindStudio项目界面,右键选择我们的项目,选择Deployment,Upload to,选择目标服务器:
  文件开始上传:
  最后,我们可以通过"Tools—Deployment—Automatic Upload"来设置自动部署。设置好自动部署后,每当我们在本地对程序进行修改后,按"Ctrl + S"保存,MindStudio便会自动将编辑过的文件自动上传至服务器。
  4 配置远程SSH解释器
  该步骤的目的是可以在本地的windows系统上使用MindStudio运行/调试在远程服务器上运行的程序。
  首先点击MindStudio右上角的齿轮,在弹出的列表中选择Project Structure:
  在弹出的设置界面,选择左侧菜单栏的SDK,点击"+",选择Add Python SDK:
  在弹出的界面选择SSH Interpreter;选择项目部署的服务器;选择服务器上所使用的conda虚拟环境的安装路径;最后点击OK保存配置:
  5 设置项目的默认python环境
  首先进入project structure界面,左侧然后左侧选择project,再project的SDK选项下选择我们要使用的python环境,具体如下图:
  然后再选择project structure界面中的modules,在该界面配置modules SDK,额然后点击ok保存配置即可:
  四、模型转换
  1 生成onnx模型
  在项目中创建以下目录:
  checkpoint
  taichi-onnx
  taichi-onnx/oms
  然后根据作者提供的链接下载所需的.pth.tar格式的模型参数文件,保存在checkpoint文件夹中。
  模型参数文件的链接如下:
  https://drive.google.com/open?id=1PyQJmkdCsAkOYwUyaj_l-l0as-iLDgeH
  编写将.pth.tar格式的checkpoint转化为onnx模型的程序get_onnx_bs1.py,放在项目根目录下。
  实现思路很简单,用源码仓提供的模型加载函数加载checkpoint模型,然后用torch.onnx.export导出onnx模型。
  代码中用到的util.load_checkpoints是从项目源码中提取出来的一个函数,其主要内容见下图:
  此外,因为目前onnx对某些pytorch中的算子还不支持,此项目中所涉及到的onnx不支持的算子包括:torch.inverse和torch.nn.functional.grid_sample。这两个算子需要我们用onnx支持的算子重新实现。其中inverse算子我们用自己实现的inverse_without_cat.py中的invmat函数代替;grid_sample算子用point_grid_my.py中的bilinear_grid_sample函数代替。
  inverse_without_cat.py和point_grid_my.py的具体内容如下:
  编辑好后将这两个程序放在项目目录下。
  导出onnx之前需要对以下python文件进行修改:
  将modules/dense_motion.py中的下图所示位置代码替换为:
  jacobian = torch.matmul(kp_source["jacobian"], invmat(kp_driving["jacobian"]))
  将modules/dense_motion.py中下图所示位置的代码替换为:
  sparse_deformed = bilinear_grid_sample(source_repeat, sparse_motions)
  将modules/generator.py中的下图所示位置的代码替换为:
  return bilinear_grid_sample(inp, deformation, align_corners=True)
  修改完成后,使用onnx模型转换程序导出onnx模型。
  首先我们要在MindStudio上配置get_onnx_bs1.py的运行环境,点击进入编辑配置界面:
  进入编辑配置界面后,点击"+",选择Ascend App,首先在界面上方的Name一栏输入程序名称,然后在Deployment一栏选择项目部署的配置,即我们在"第三章第3节 部署项目至服务器"中配置的服务器。
  在Executable处选择get_onnx_bs1.py:
  然后在Parameters一栏输入如下参数配置:
  --config config/taichi-256.yaml --checkpoint checkpoint/taichi-cpk.pth.tar --outdir taichi-onnx --genname taichi-gen-bs1 --kpname taichi-kp-bs1
  最后点击ok保存程序配置。这样配置好以后就可以实现在本地的MindStudio上调试远程服务器上运行的python程序了。
  点击MindStudio上方工具栏的绿色三角按钮,运行该程序即可导出onnx模型。
  2 onnx模型转换成om模型
  首先如下图所示,点击MindStudio界面上端的model converter按钮,在弹出的界面中首先选择服务器上onnx模型的位置,然后等待模型加载完毕后,继续在target soc version一栏选择自己的昇腾服务器的芯片类型,我这里用的是Ascend310P3,最后选择om模型的输出位置,然后点next即可。
  然后这里直接点next:
  最后第三个页面直接点finish,开始模型转换:
  稍等片刻,模型转换成功:
  五、模型推理
  1 配置推理环境
  将aclruntime-0.0.1-cp37-cp37m-linux_x86_64.whl下载下来,放在项目目录下,并上传至服务器。
  下载链接:https://pan.baidu.com/s/1mzZhhPByVcXVeqUk9S9qNQ
  提取码:mind
  下载推理程序包,在本地的终端执行以下命令:
  git clone https://gitee.com/ascend/tools.git
  等待下载完成,然后将下载好的tools包上传至服务器(也可以直接在服务器的终端输入上条命令clone到服务器上)
  然后在远程服务器终端上执行以下命令,安装aclruntime包:
  pip install aclruntime-0.0.1-cp37-cp37m-linux_x86_64.whl
  (若是在普通用户下执行需要加上--user参数)
  2 数据预处理
  首先修改config/taichi-256.yaml,将其中dataset_params:下的root_dir:修改为data/taichi。
  参考FOMM1/reconstruction.py,编写数据预处理程序如下:
  然后需要修改run.py。首先将下图中所示的代码修改为:
  parser.add_argument("--mode", default="train", choices=["train", "reconstruction", "animate", "pre"])
  然后在run.py的最后添加代码:
  elif opt.mode == "pre":
  print("pre processing...")
  pre_processing(config, generator, kp_detector, opt.checkpoint, log_dir, dataset)
  然后修改logger.py中下图所示的那行代码,将其改为:checkpoint = torch.load(checkpoint_path, map_location=torch.device("cpu"))
  打开Run/Debug Configurations界面:
  配置好run.py的mode为预处理的运行参数和环境:
  点击运行run.py。等待程序执行完毕:
  运行结束后在终端查看预处理后的数据的保存目录,保存结果如下所示:
  3 模型推理
  首先是在昇腾服务器上推理om模型:
  这里为了后续使用数据方便一些我们将tools/ais-bench_workload/tool/ais_infer/ais_infer.py中下图所示位置的代码修改成:
  if args.output != None:
  # timestr = time.strftime("%Y_%m_%d-%H_%M_%S")
  output_prefix = args.output
  # os.mkdir(output_prefix, 0o755)
  logger.info("output path:{}".format(output_prefix))
  else:
  output_prefix = None
  然后我们需要配置服务器上的环境变量:
  首先在服务器终端执行命令:vim ~/.bashrc
  然后在文件的最后添加如下内容:
  source /usr/local/Ascend/ascend-toolkit/set_env.sh
  source /etc/profile
  然后即可开始进行模型推理。首先配置Ascend App程序:
  其中Executable为:项目目录/tools/ais-bench_workload/tool/ais_infer/ais_infer.py
  运行参数为:
  --model /home/ltm/fomm/taichi-onnx/oms/taichi-kp-bs1.om --input /home/ltm/fomm/infer_out/d/ --output /home/ltm/fomm/infer_out/kpd/ --outfmt NPY
  然后按同样的方式,再配置一个名为infer kps的运行参数为如下内容的Ascend App程序:
  --model /home/ltm/fomm/taichi-onnx/oms/taichi-kp-bs1.om --input /home/ltm/fomm/infer_out/d/ --output /home/ltm/fomm/infer_out/kpd/ --outfmt NPY
  配置好后点击运行按钮运行程序:
  等待代码运行完毕即可。程序运行完后,下图中所标示的值便是我们测出来的性能指标:
  之后,需要运行apart_kp_out.py,对推理kp模型输出的数据进行简单处理,以便之后使用。首先配置apart_kp_out.py的运行环境:
  配置好后运行该程序:
  待程序运行结束,即可开始gen模型的推理,同样先配置Ascend App程序:
  其中Executable为:项目目录/tools/ais-bench_workload/tool/ais_infer/ais_infer.py
  运行参数为:--model /home/ltm/fomm/taichi-onnx/oms/taichi-gen-bs1.om --input /home/ltm/fomm/infer_out/s/,/home/ltm/fomm/infer_out/kpdv/,/home/ltm/fomm/infer_out/kpdj/,/home/ltm/fomm/infer_out/kpsv/,/home/ltm/fomm/infer_out/kpsj/ --output /home/ltm/fomm/infer_out/out/ --outfmt NPY
  配置好后点击运行,等待程序运行结束即可。
  至此,在310P上推理om模型就完成了。接下来要在T4机器上推理模型,由于目前TensorRT不支持FOMM里的用到的很多算子,故此次推理使用线上推理。
  首先要写一个线上推理用的python程序:
  推理程序的实现思路很简单,用python的time包记录模型从输入到输出所花费的平均时间然后把平均时间代到性能的计算公式里即可。这部分功能我写在online_infer.py里,其核心代码如下:
  然后修改run.py,首先修改其下图中所示的代码:
  将这句修改为:parser.add_argument("--mode", default="train", choices=["train", "reconstruction", "animate", "pre", "infer", "ori_re"])
  然后在最后加上如下代码:
  elif opt.mode == "infer":
  print("Infer ...")
  infer(config, generator, kp_detector, opt.checkpoint, log_dir, dataset)
  改好后,进入运行配置界面,配置推理程序:
  配置好后运行该程序,等待程序运行结束即可:
  程序运行结果如下:
  4 精度测试
  此处需要对源码中的FOMM1/reconstruction.py进行较大修改:
  然后配置run.py的mode为reconstruction的运行参数的环境:
  然后点击运行,运行run.py,等待程序运行结束:
  Reconstruction的结果保存在./checkpoint/reconstruction/下:
  然后配置pose-evaluation/extract.py的两个运行环境,如下所示:
  其中参数为:
  --in_folder ../data/taichi/test/ --out_file out/akd_gt.pkl --is_video --type body_pose --image_shape 256,256
  和
  --in_folder ../checkpoint/reconstruction/png/ --out_file out/akd_gen.pkl --is_video --type body_pose --image_shape 256,256
  配置好后依次运行两个程序:
  等待程序运行完毕。
  两个程序运行结束后,分别可以得到一个.pkl格式的文件,最后,配置精度计算的程序:
  然后运行该程序,即可得到FOMM模型的精度指标:
  至此,一整个FOMM模型推理过程就结束了
  六、其他问题
  如果在开发过程中遇到其他问题或者是不明白的地方,我们可以登录昇腾官方论坛进行求助。昇腾论坛链接如下:
  https://bbs.huaweicloud.com/forum/forum-945-1.html
  在这里,我们可以找到很多经验帖、总结帖,亦可以在昇腾论坛发帖求助技术人员,帮助我们解决问题。
  七、FAQ
  问题一:
  转onnx模型的时候出现"Exporting the operator inverse to ONNX opset version 11 is not supported"的报错。
  分析:
  出现这个错误的原因是因为onnx目前还不支持Pytorch的部分算子,比如我在项目中遇到的torch.inverse和torch.nn.functional.grid_sample这两个算子,都是onnx现在还不支持的算子,如果模型中有使用到这两个算子的话,则会在转onnx模型的时候报上述的错误。
  解决方法:
  用onnx支持的算子实现onnx不支持的算子的功能,或者寻找替代的算子。
  问题二:
  使用Model Converter的时候CANN Machine一栏无法更改。
  解决方法:
  Model Converter界面中的CANN Machine一栏的内容无法在Model Converter界面修改,想要修改的应该点击CANN Manager,在此界面更改项目的CANN工具依赖。

下一战或许就在7月!第2站大满贯赛来袭,国乒资格变少名单难预测昨日,WTT世界乒联同时发布两篇文章,更多WTT赛事将在世界各地开赛和WTT布达佩斯大满贯重磅来袭,文章一出,顿时引起球迷们的热议与期待。自三月份新加坡大满贯赛后,国乒主力就一直没就在今天,一项75年没人做到的纪录,被王者归来的汤普森达成了王朝勇士队的传奇得以延续,在经历了杜兰特离队,汤普森大伤之后,本赛季的勇士队上演了王者归来的戏码。常规赛他们就取得了53胜29负的出色战绩,进入季后赛之后,击败掘金队,战胜灰熊队。万泰生物2连跌,中国首富身价缩水175亿!招商基金中招文杨万里知名疫苗股2连跌,重仓的投资者吃了一碗大面。5月27日,万泰生物收跌7。04,近两个交易日累计跌去16。33。截至发文,该公司股价为136。09元,总市值为1198亿元。粗火箭探花交易马刺穆雷组梦幻后场?马刺正式开始重建2022年的选秀被公认为选秀小年,所有的球探以及球队分析的是今年没有特别出色的一看就是为了核心的好苗子,所以很多乐透球队都有交易自己手中乐透签的想法,想以此来换去未来选秀权或者有潜百度制造即将揭晓官宣造车500天,集度首款新车有望下半年亮相从2021年1月11日官宣造车至今,百度造车满打满算已经走过了500天。5月26日,百度CEO李彦宏在Q1财报发布后的业绩交流会上表示,集度汽车将在今年下半年接受订单,预计2023CBA三消息首钢再裁一员悍将,刘维伟因故退队,丘天已完成续约爱国篮,爱CBA,我是洛姐,小伙伴们看完记得点赞!北京首钢队是CBA联赛中一支非常受到球迷们关注的球队,之前他们基本每一个赛季都能够打进季后赛,而且北京首钢队还拿到过三次CBA联赛NBA最佳阵容库里,詹姆斯无缘第一阵容,真的老了吗?随着NBA联盟季后赛接近尾声,联盟统计了今年的最佳阵容。快看看有没有你喜欢的球队与当家球队?最佳第一阵容布克太阳队东契奇小牛队塔特姆凯尔特人队阿德托昆博雄鹿队约基奇掘金队在第一阵容最前线菜鸟发布ESG报告,2021双十一减碳5。3万吨文张一弛编辑苏建勋5月26日,菜鸟发布20212022菜鸟社会责任报告,披露了绿色物流应急物流两块社会责任的核心板块,以及助力乡村振兴促进公平就业等方面的进展。在报告分享会中,菜鸟杨毅发声向我开炮!如何看待他主动站出来向勇士全队和库里道歉这个比赛日对于勇士的球迷来说是个开心的日子,因为他们在主场以120110的比分战胜了独行侠,从而以41的总比分淘汰对手,赢得西部总冠军的同时,也迈出了通向总决赛冠军最关键的一步。同东决G6前瞻借主场优势增加突破,防守端打联防,绿军将会师勇士东部决赛G6将在5月28日上午8点半开始,由凯尔特人在主场迎战热火队。此前5场打成凯尔特人以3比2领先,本场如果取胜,他们将与勇士队会师总决赛。根据目前的消息,斯马特和罗威均出战成如何选择完美的婚礼高跟鞋你已经做出了一个重大决定,在婚礼当天穿高跟鞋而不是平底鞋。但是,您如何在所有争夺新娘注意力和有限资金的美丽婚礼高跟鞋之间做出选择?如果您正在为完美的一天寻找一些鞋子,那么在寻找高跟
苹果iOS15。3系统升级2022年1月27日凌晨时段,苹果发布iOS15。3系统,该版本为正式版,直接打开设置通用软件更新即可检测到点击下载可自动升级。基带版本降级,信号格数区别不大,但是重点强调,以前微iPhone13升级iOS15。3真实感受目前最值得升级的系统版本iPhone13是直接OTA升级iOS15。3正式版的,没有用线刷,有很多人认为线刷会更流畅稳定一些,但个人认为没什么区别,不然苹果官方为什么还要推送呢?再来分享下iPhone13老板HT601A燃气热水器,打造冬日温暖家恒温水系统双厄尔尼诺打造了十年难得一遇的冷冬,让全国多地转入速冻模式,夜晚归家能够泡上一个舒服痛快的热水澡,隔绝室外的凛冽迎来一室氤氲,是最惬意的过冬方式了。随着热水器使用频率的提升,销量也喜迎新春!OriginOSOcean系统让你玩转虎年时光轮转,再过不久我们马上就要迎来一年中最隆重也是最热闹的节日春节。不过,随着时代的变迁和年龄的增长,很多人都会觉得现在的年味变淡了,高楼大厦之间完全没有小时候迎接新年的喜气,以至古力娜扎和欧阳娜娜合影火了,被指气质完全被秒杀,引起热议古力娜扎和欧阳娜娜都是很不错的新生代女明星,虽然两人所走的路线不同,但是却合作过很多次,这也让两人留下了很多珍贵的合影,至今为止,古力娜扎和欧阳娜娜的合影都备受追捧,一组古力娜扎和网剧如月顺利杀青高伟光欧阳娜娜谱写乱世奇缘由企鹅影视悦凯影视联合出品的民国奇幻爱情剧如月,自10月25日开机以来,历时三个月,于1月25日在横店顺利杀青。杀青特辑首曝光,诸多拍摄细节引人期待。该剧由韩志杰担任总监制,方芳贾国际走婚族杨二车娜姆气哭谢娜和柯以敏,连金星都避让三分如果杨二车娜姆现在还在娱乐圈混,绝对是当然不让的话题人物。当年的杨二车娜姆,率性,口无遮拦,肆无忌惮,自己怎么舒服怎么来。2007年,谢娜和张杰偷偷摸摸谈恋爱,被杨二车娜姆直接踢爆TVB印象深刻角色,谈情说案蔡宝儿,自私冷酷的完美女孩蔡宝儿是美域高集团的千金,从美国进修回来就进入集团帮助父亲打理生意。她生的肤白貌美,品味高雅,仪态端庄,在外人看来,蔡宝儿简直是名媛中的翘楚。在一次宴会上,景博的姑姑结识了蔡宝儿,古力娜扎和欧阳娜娜合影火了,被指气质完全被秒杀,引起热议古力娜扎和欧阳娜娜都是很不错的新生代女明星,虽然两人所走的路线不同,但是却合作过很多次,这也让两人留下了很多珍贵的合影,至今为止,古力娜扎和欧阳娜娜的合影都备受追捧,一组古力娜扎和网剧如月顺利杀青高伟光欧阳娜娜谱写乱世奇缘由企鹅影视悦凯影视联合出品的民国奇幻爱情剧如月,自10月25日开机以来,历时三个月,于1月25日在横店顺利杀青。杀青特辑首曝光,诸多拍摄细节引人期待。该剧由韩志杰担任总监制,方芳贾国际走婚族杨二车娜姆气哭谢娜和柯以敏,连金星都避让三分如果杨二车娜姆现在还在娱乐圈混,绝对是当然不让的话题人物。当年的杨二车娜姆,率性,口无遮拦,肆无忌惮,自己怎么舒服怎么来。2007年,谢娜和张杰偷偷摸摸谈恋爱,被杨二车娜姆直接踢爆