yiranran / Audio-driven-TalkingFace-HeadPose

Code for "Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose" (Arxiv 2020) and "Predicting Personalized Head Movement From Short Video and Speech Signal" (TMM 2022)
https://ieeexplore.ieee.org/document/9894719
721 stars 146 forks source link

Colab not working, how to run in colab? #6

Open bitcoin5000 opened 4 years ago

bitcoin5000 commented 4 years ago

I am unable run in local machine and have problem with blazer, when i try use google colab it`s not working also, blazer only pass first test, also when i run !CUDA_VISIBLE_DEVICES=0 python demo_19news.py ../Data/[person id] i get error
Traceback (most recent call last): File "demo_19news.py", line 1, in import tensorflow as tf File "/usr/local/lib/python3.6/dist-packages/tensorflow/init.py", line 28, in from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/init.py", line 83, in from tensorflow.python import keras File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/init.py", line 26, in from tensorflow.python.keras import activations File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/activations.py", line 24, in from tensorflow.python.keras.utils.generic_utils import deserialize_keras_object File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/init.py", line 39, in from tensorflow.python.keras.utils.multi_gpu_utils import multi_gpu_model File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/multi_gpu_utils.py", line 22, in from tensorflow.python.keras.engine.training import Model File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py", line 40, in from tensorflow.python.keras.engine import network File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/network.py", line 39, in from tensorflow.python.keras import saving File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/saving/init.py", line 33, in from tensorflow.python.keras.saving.saved_model import export_saved_model ImportError: cannot import name 'export_saved_model'

yiranran commented 4 years ago

It seems the colab by default has cpu-version tensorflow And it loads that tensorflow package instead of tensorflow-gpu. You could uninstall cpu-version tensorflow and reinstall the tensorflow-gpu==1.14.0 again

ak9250 commented 4 years ago

@yiranran did you change runtime to gpu in colab? tensorflow-gpu is installed by default

paolo626 commented 4 years ago

No , but I jchange gpu model it is also same wrong just now.

@yiranran您是否在colab中将运行时更改为gpu?tensorflow-gpu默认安装

kryzhikov commented 4 years ago

Having same problem in GPU mode with tensorflow-gpu==14 installed image

and here is logs of mesh_renderer_test and rasterize_triangles_test

exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //mesh_renderer:mesh_renderer_test
-----------------------------------------------------------------------------
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  np_resource = np.dtype([("resource", np.ubyte, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  np_resource = np.dtype([("resource", np.ubyte, 1)])
Traceback (most recent call last):
  File "/root/.cache/bazel/_bazel_root/8d5835d98c81d3bd4a7205f651f7a144/sandbox/processwrapper-sandbox/27/execroot/tf_mesh_renderer/bazel-out/k8-fastbuild/bin/mesh_renderer/mesh_renderer_test.runfiles/tf_mesh_renderer/mesh_renderer/mesh_renderer_test.py", line 26, in <module>
    import mesh_renderer
  File "/content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/mesh_renderer/mesh_renderer.py", line 23, in <module>
    from . import camera_utils
ImportError: attempted relative import with no known parent package
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //mesh_renderer:rasterize_triangles_test
-----------------------------------------------------------------------------
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  np_resource = np.dtype([("resource", np.ubyte, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  np_resource = np.dtype([("resource", np.ubyte, 1)])
Traceback (most recent call last):
  File "/root/.cache/bazel/_bazel_root/8d5835d98c81d3bd4a7205f651f7a144/sandbox/processwrapper-sandbox/28/execroot/tf_mesh_renderer/bazel-out/k8-fastbuild/bin/mesh_renderer/rasterize_triangles_test.runfiles/tf_mesh_renderer/mesh_renderer/rasterize_triangles_test.py", line 26, in <module>
    import rasterize_triangles
  File "/content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/mesh_renderer/rasterize_triangles.py", line 24, in <module>
    from . import camera_utils
ImportError: attempted relative import with no known parent package
kryzhikov commented 4 years ago

Oh sorry, changing imports fixes this problem

paolo626 commented 4 years ago

cpu-version tensorflow

I didn't have matlab in cloab. Is it influnce demo 50006.wav work ? I uninstall tensorflow-gpu still same wrong...

here is my work code in colab

cd Audio-driven-TalkingFace-HeadPose-master/

pip uninstall tensorflow

! pip install -r requirements.txt

cd ./Audio/code/

!pip list(it have 1.14.0 gpu version)

!python test_personalized.py 5_00006 31 0 python atcnet_test1.py --device_ids 0 --model_name ../model/atcnet_pose0_con3/31/atcnet_lstm_99.pth --pose 1 --relativeframe 0 --sample_dir ../results/atcnet_pose0_con3/31/5_00006_99 --in_file ../audio/5_00006.wav device 0 Traceback (most recent call last): File "atcnet_test1.py", line 117, in test() File "atcnet_test1.py", line 85, in test state_dict = multi2single(config.model_name, 0) File "atcnet_test1.py", line 22, in multi2single checkpoint = torch.load(model_path) File "/usr/local/lib/python3.6/dist-packages/torch/serialization.py", line 382, in load f = open(f, 'rb') FileNotFoundError: [Errno 2] No such file or directory: '../model/atcnet_pose0_con3/31/atcnet_lstm_99.pth' choose_bg_gexinghua2 19_news/31 5_00006 0 atcnet_pose0_con3/31/5_00006_99 ../results/chosenbg/5_00006_19_news/31_atcnet_pose0_con3_31_5_00006_99/reassign Traceback (most recent call last): File "test_personalized.py", line 66, in bgdir = choose_bg_gexinghua2_reassign2('19_news/'+person, audiobasen, start, audiomodel, num=num, tran=pingyi, speed=speed) File "/content/drive/Shared drives/masterWork/Audio2Vdeio/Audio-driven-TalkingFace-HeadPose-master/Audio/code/choose_bg_gexinghua2_reassign.py", line 121, in choose_bg_gexinghua2_reassign2 coeff = loadmat(os.path.join(matdir,'frame%d.mat')%i) File "/usr/local/lib/python3.6/dist-packages/scipy/io/matlab/mio.py", line 141, in loadmat MR, file_opened = mat_reader_factory(file_name, appendmat, **kwargs) File "/usr/local/lib/python3.6/dist-packages/scipy/io/matlab/mio.py", line 64, in mat_reader_factory byte_stream, file_opened = _open_file(file_name, appendmat) TypeError: 'NoneType' object is not iterable

kryzhikov commented 4 years ago

well all you need to fix it is to uninstall tf, install tf-gpu 14.0.0 and

  1. in /content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/mesh_renderer/rasterize_triangles.py : 28 line: change to os.path.join('/content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction',

2/ in /content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/runtests.sh replace program with

bazel test --python_path=/usr/local/bin/python --define=PYTHON=/usr/local/bin/python ... After it run next cells


!cp /usr/local/lib/python3.6/dist-packages/tensorflow/libtensorflow_framework.so.1 /usr/lib/

!cd /usr/lib/ && ln -s libtensorflow_framework.so.1 libtensorflow_framework.so

%cd /content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/ 
!./runtests.sh

image

That helped me to pass runtests

paolo626 commented 4 years ago

那么,您需要解决的所有事情就是卸载tf,安装tf-gpu 14.0.0 和

  1. 在/content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/mesh_renderer/rasterize_triangles.py中:28行:更改为os.path.join('/ content / Audio-driven-TalkingFace-HeadPose / Deep3DFaceReconstruction',

2 / /content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/runtests.sh中的程序替换为

bazel测试--python_path = / usr / local / bin / python --define = PYTHON = / usr / local / bin / python ... 之后运行下一个单元格


!cp /usr/local/lib/python3.6/dist-packages/tensorflow/libtensorflow_framework.so.1 /usr/lib/

!cd /usr/lib/ && ln -s libtensorflow_framework.so.1 libtensorflow_framework.so

%cd /content/Audio-driven-TalkingFace-HeadPose/Deep3DFaceReconstruction/tf_mesh_renderer/ 
!./runtests.sh

图片

那帮助我通过了测试

thank you ,I try it

ak9250 commented 4 years ago

@KirillR911 can you please share your colab?

kryzhikov commented 4 years ago

https://colab.research.google.com/drive/1FXoqSLC_y6UpDDcbxGefwMDBh9UTipvZ

kryzhikov commented 4 years ago

I also needed to change imports in mesh render and res...triangles from

from . import camera_utils

to

import camera utils

to run it, i guess it is because i changed working dir in colab to the containing these files so you don`t need to change if if u are staying in /content dir

kryzhikov commented 4 years ago

Kind of managed to run it on colab, if you need help, you can contact me it telegram @kirizhik

yiranran commented 4 years ago

https://colab.research.google.com/drive/1FXoqSLC_y6UpDDcbxGefwMDBh9UTipvZ

Thanks!!!

kryzhikov commented 4 years ago

Now having other troubles #8

kryzhikov commented 4 years ago

Hey everyone! Has anybody tried to install MATLAB in colab or is it possible to run training script with octave? @yiranran @bitcoin5000 @ak9250 @liupeng678

If so, I could prepare a user-friendly working colab notebook to upload to this rep!

yiranran commented 4 years ago

You can use octave, using "octave —eval". I provided a colab demo in the readme.

On Apr 9, 2020, at 2:18 AM, Kirill notifications@github.com wrote:

Hey everyone! Has anybody tried to install MATLAB in colab or is it possible to run training script with octave? @yiranran https://github.com/yiranran @bitcoin5000 https://github.com/bitcoin5000 @ak9250 https://github.com/ak9250 @liupeng678 https://github.com/liupeng678 — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/yiranran/Audio-driven-TalkingFace-HeadPose/issues/6#issuecomment-611113560, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD76RABSCG7WNY7FJOJI24DRLS5XLANCNFSM4LZ7JYSQ.

kryzhikov commented 4 years ago

Thanks! Great project!

ak9250 commented 4 years ago

I get a error export model when running the 3d reconstruction part in colab

kryzhikov commented 4 years ago

@yiranran How did you make visdom to work on colab? when running your notebook getting this error on fine-tuning

requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8097): Max retries exceeded with url: /env/memory_seq_31 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb4026ed860>: Failed to establish a new connection: [Errno 111] Connection refused',))
[Errno 99] Cannot assign requested address
[Errno 99] Cannot assign requested address
[Errno 99] Cannot assign requested address
Visdom python client failed to establish socket to get messages from the server. This feature is optional and can be disabled by initializing Visdom with `use_incoming_socket=False`, which will prevent waiting for this request to timeout.

Could not connect to Visdom server. 
 Trying to start a server....

and after it as a result

FileNotFoundError: [Errno 2] No such file or directory: '/content/Audio-driven-TalkingFace-HeadPose/render-to-video/../Deep3DFaceReconstruction/output/render/19_news/31/bm/frame204_renderold_bm.png'
....
FileNotFoundError: [Errno 2] No such file or directory: './checkpoints/memory_seq_p2p/60_net_G.pth'
kryzhikov commented 4 years ago

Managed to solve problem with visdom with running server by the following code

! npm install -g localtunnel
get_ipython().system_raw('python3 -m pip install visdom')
get_ipython().system_raw('python3 -m visdom.server -port 6006 >> visdomlog.txt 2>&1 &')
get_ipython().system_raw('lt --port 6006 >> url.txt 2>&1 &')
import time
time.sleep(5)
! cat url.txt
import visdom
time.sleep(5)
vis = visdom.Visdom(port='6006')
print(vis)
time.sleep(3)
vis.text('testing')
! cat visdomlog.txt

but problem

FileNotFoundError: [Errno 2] No such file or directory: '/content/Audio-driven-TalkingFace-HeadPose/render-to-video/../Deep3DFaceReconstruction/output/render/19_news/31/bm/frame204_renderold_bm.png'

is stil actual

yiranran commented 4 years ago

If it is tensorflow error, uninstall tensorflow, tensorflow-gpu and then install tensorflow-gpu==1.14.0 again

If it is model file not exist error, please check if you have Models.zip in your google drive/Talking Face and correctly unzipped, copied to the corresponding folders

在 2020年4月9日,上午3:28,ak9250 notifications@github.com 写道:

I get a error export model when running the 3d reconstruction part in colab

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

yiranran commented 4 years ago

Managed to solve problem with visdom with running server by the following code

! npm install -g localtunnel
get_ipython().system_raw('python3 -m pip install visdom')
get_ipython().system_raw('python3 -m visdom.server -port 6006 >> visdomlog.txt 2>&1 &')
get_ipython().system_raw('lt --port 6006 >> url.txt 2>&1 &')
import time
time.sleep(5)
! cat url.txt
import visdom
time.sleep(5)
vis = visdom.Visdom(port='6006')
print(vis)
time.sleep(3)
vis.text('testing')
! cat visdomlog.txt

but problem

FileNotFoundError: [Errno 2] No such file or directory: '/content/Audio-driven-TalkingFace-HeadPose/render-to-video/../Deep3DFaceReconstruction/output/render/19_news/31/bm/frame204_renderold_bm.png'

is stil actual

This one seems the matlab/octave part failed. This image should be output by matlab script

kryzhikov commented 4 years ago

Yes, there was problem with octave

before running

!octave --eval "pkg install image-2.12.0.tar.gz"

you need to install liboctave-dev with

!apt install liboctave-dev
jjandnn commented 4 years ago

@yiranran @KirillR911 项目很棒,挺顺的,感谢。 解决上面的问题,我建议:train_options.py 中parser.add_argument('--display_id', type=int, default=1, help='window id of the web display'),修改为0。在colab中,这是visdom,torch的老问题。还有如果要利用谷歌云盘,My Drive的空格问题就扯淡了,会耗掉很多可以fork的人的时间。如果只用content,空间经不起算,没多久就会报不够的。

祝大家顺利,祝作者一切安康!

The project is great and smooth, thanks. @KirillR911 To solve the above problem, I suggest: parser.add_argument ('-display_id', type = int, default = 1, help = 'window id of the web display') in train_options.py, modified to 0. In colab, this is the old problem of visdom and torch. Also, if you want to use Google Cloud Disk, My Drive's space problem will be nonsense, and it will consume a lot of people who can fork. If you only use content, the space cannot afford to count, and it will not be reported enough in a short time.

yiranran commented 4 years ago

Yes, there was problem with octave

before running

!octave --eval "pkg install image-2.12.0.tar.gz"

you need to install liboctave-dev with

!apt install liboctave-dev

@KirillR911 Thanks, I've added this in colab demo

yiranran commented 4 years ago

@yiranran @KirillR911 项目很棒,挺顺的,感谢。 解决上面的问题,我建议:train_options.py 中parser.add_argument('--display_id', type=int, default=1, help='window id of the web display'),修改为0。在colab中,这是visdom,torch的老问题。还有如果要利用谷歌云盘,My Drive的空格问题就扯淡了,会耗掉很多可以fork的人的时间。如果只用content,空间经不起算,没多久就会报不够的。

祝大家顺利,祝作者一切安康!

The project is great and smooth, thanks. @KirillR911 To solve the above problem, I suggest: parser.add_argument ('-display_id', type = int, default = 1, help = 'window id of the web display') in train_options.py, modified to 0. In colab, this is the old problem of visdom and torch. Also, if you want to use Google Cloud Disk, My Drive's space problem will be nonsense, and it will consume a lot of people who can fork. If you only use content, the space cannot afford to count, and it will not be reported enough in a short time.

Thanks! I've modified the default option~ @jjandnn

jjandnn commented 4 years ago

ok, @bitcoin5000 @ak9250 @liupeng678 @KirillR911 @yiranran

Audio_driven_TalkingFace_HeadPose_COLAB.zip

itis my colab。 You can mount cloud disk to run directly, and the octave problem has been solved。 I modified render-to-video / train_19news_1.py。

This simple approach works for almost all octave path problems, as well as other python problems caused by whitespace。

This will help you to be able to run the author's other two packages on the colab and all the changes are in this jpynb, the only problem is that I explained that it's in Chinese and the entire file is just 5 steps and you just click on it and have fun!

Ps: If you want to run visdom, the following is the code, go to ngrok before running the model, -display_id = 1, change it yourself: !wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip !unzip ngrok-stable-linux-amd64.zip get_ipython().system_raw('python3 -m pip install visdom') get_ipython().system_raw('python3 -m visdom.server -port 6006 >> visdomlog.txt 2>&1 &') get_ipython().system_raw('./ngrok http 6006 &') ! curl -s http://localhost:4040/api/tunnels | python3 -c \ "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

@yiranran 建议:以后的项目可以用scipy1.2.0后的版本,要是回头有时间可以改掉visualiaer.py,一劳永逸,你每个项目都用到的。在github的项目里,可以直接放一个requirements_colab.txt,配合colab。 Suggestion: future projects or use the version after scipy1.2.0, if there is time back to change visualiaer.py, once and for all, you use each project in the github project, you can directly put a requirements colab. TXT, with colab。 visualizer.zip 这个版本适用于你APD和UPD,支持colab,支持scipy新版,但我没针对本项目调整,因为本项目3D处理方式在行业内的更新会相对较快,而另两个项目在移动端的实现较有效,且适用面较广。

祝你顺利!佳作连连!

yiranran commented 4 years ago

ok, @bitcoin5000 @ak9250 @liupeng678 @KirillR911 @yiranran

Audio_driven_TalkingFace_HeadPose_COLAB.zip

itis my colab。 You can mount cloud disk to run directly, and the octave problem has been solved。 I modified render-to-video / train_19news_1.py。

This simple approach works for almost all octave path problems, as well as other python problems caused by whitespace。

This will help you to be able to run the author's other two packages on the colab and all the changes are in this jpynb, the only problem is that I explained that it's in Chinese and the entire file is just 5 steps and you just click on it and have fun!

Ps: If you want to run visdom, the following is the code, go to ngrok before running the model, -display_id = 1, change it yourself: !wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip !unzip ngrok-stable-linux-amd64.zip get_ipython().system_raw('python3 -m pip install visdom') get_ipython().system_raw('python3 -m visdom.server -port 6006 >> visdomlog.txt 2>&1 &') get_ipython().system_raw('./ngrok http 6006 &') ! curl -s http://localhost:4040/api/tunnels | python3 -c "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

@yiranran 建议:以后的项目可以用scipy1.2.0后的版本,要是回头有时间可以改掉visualiaer.py,一劳永逸,你每个项目都用到的。在github的项目里,可以直接放一个requirements_colab.txt,配合colab。 Suggestion: future projects or use the version after scipy1.2.0, if there is time back to change visualiaer.py, once and for all, you use each project in the github project, you can directly put a requirements colab. TXT, with colab。 visualizer.zip 这个版本适用于你APD和UPD,支持colab,支持scipy新版,但我没针对本项目调整,因为本项目3D处理方式在行业内的更新会相对较快,而另两个项目在移动端的实现较有效,且适用面较广。

祝你顺利!佳作连连!

@jjandnn 非常感谢您的建议!本项目已经修改~ Thanks very much for your suggestions! I've updated this repository~

jjandnn commented 4 years ago

@liupeng678 你看一下上面我写的教程。这个错误就是scipy版本问题。你测试一下1.2.0,不要用默认的1.4.0。如果还有问题,直接运行我在上面发的那个colab。

paolo626 commented 4 years ago

@测试码1.2.0,不要用替换的1.4.0。如果还有问题,直接运行我在上面发的那个colab。@ liupeng678你看一下上面我写的教程。这个错误就是scipy版本问题。

thank you

paolo626 commented 4 years ago

@测试码1.2.0,不要用替换的1.4.0。如果还有问题,直接运行我在上面发的那个colab。@ liupeng678你看一下上面我写的教程。这个错误就是scipy版本问题。

您好,我运行了您的代码到!cd Audio/code/; python test_personalized.py 03Fsi1831 31 0还是同样的错误: control 1 cp: cannot stat '../../render-to-video/results/memory_seq_p2p/31/test_60/imagesrseq_31_03Fsi1831_full9//R_31_reassign2-00002_blend2_fake.png': No such file or directory cp: cannot stat '../../render-to-video/results/memory_seq_p2p/31/test_60/imagesrseq_31_03Fsi1831_full9//R_31_reassign2-00002_blend2_fake.png': No such file or directory FileNotFoundError: [Errno 2] No such file or directory: '../results/atcnet_pose0_con3/31/03Fsi1831_99/31_03Fsi1831wav_results_full9.mp4' 请问一下您遇到这个问题吗?可能是我的硬盘不够。scipy环境也是1.2的

paolo626 commented 4 years ago

@bitcoin5000 @yiranran @ak9250 @KirillR911 hello ,friends. I run !cd Audio/code/; python test_personalized.py 03Fsi1831 31 0 in cloab have two problem . First, the dir"sampledir2+'/R'+person+'_reassign2-00000_blend2fake.png" is not exit in this file.Is my fault in environment?I have run five time in cloab from demo cloab ... image For slove it.I delete "'/R' + person + '_reassign2-" and translate all this picture to xxx.mov. I don't know this way is right.Looking for your reply about this problem. image Next,It has a miss point that commond !cd Audio/code/; python test_personalized.py 03Fsi1831 31 0 should change 03Fsi1831 to 03Fsi1201

paolo626 commented 4 years ago

@liupeng678 噢,兄弟,你的文件是啥???????????????我们都不是这个版本啊! video_name = os.path.join(sampledir,'%s%swav_results%s.mp4'%(person,audiobasen,post)) command = 'ffmpeg -loglevel panic -framerate 25 -i ' + sampledir2 + '/R' + person + '_reassign2-%05d_blend2_fake.png -c:v libx264 -y -vf format=yuv420p ' + video_name 你用是我的colab? 我的这句代码是:………………………………+ person + 'reassign2-%05d…………………………

我来来回回测试,用云盘和不用云盘直接跑,T4、p100、v100(百度),20多次,没一次报错啊。

老哥,我按照你的cloab一行都没改,但是到这个文件时候运行到cp和ffmpeg发现 sampledir2路径下没有生成包含'/R' + person + '_reassign2-前缀的图片,如果去掉这个前缀的图片是有的。作者的demo里面也是遇到这个问题。老哥能给我一个微信吗?关于这个问题有偿交流几分钟。我的微信是18465117557

paolo626 commented 4 years ago

@liupeng678 噢,兄弟,你的文件是啥???????????????我们都不是这个版本啊! video_name = os.path.join(sampledir,'%s%swav_results%s.mp4'%(person,audiobasen,post)) command = 'ffmpeg -loglevel panic -framerate 25 -i ' + sampledir2 + '/R' + person + '_reassign2-%05d_blend2_fake.png -c:v libx264 -y -vf format=yuv420p ' + video_name 你用是我的colab? 我的这句代码是:………………………………+ person + 'reassign2-%05d…………………………

我来来回回测试,用云盘和不用云盘直接跑,T4、p100、v100(百度),20多次,没一次报错啊。

我的drive存储是100G的,cloab pro。环境应该没啥问题。

paolo626 commented 4 years ago

https://drive.google.com/drive/folders/1-0XubcbjPgJexQq93uZT2rmgy2J7_Sfu?usp=sharing这个是我运行完的prject,可以看到cp图片没有person + 'reassign2-%05d前缀。 https://drive.google.com/file/d/1T2FYXVO15XuItp-iFR_e2-Dtk8cNPqlb/view?usp=sharing这个是运行代码

paolo626 commented 4 years ago

@liupeng678 你看一下上面我写的教程。这个错误就是scipy版本问题。你测试一下1.2.0,不要用默认的1.4.0。如果还有问题,直接运行我在上面发的那个colab。

https://drive.google.com/drive/folders/1-0XubcbjPgJexQq93uZT2rmgy2J7_Sfu?usp=sharing 这个是我运行完的prject,可以看到cp图片没有person + 'reassign2-%05d前缀。 https://drive.google.com/file/d/1T2FYXVO15XuItp-iFR_e2-Dtk8cNPqlb/view?usp=sharing 这个是运行代码,应该没改过。 谢谢了

yiranran commented 4 years ago

@liupeng678 你看一下上面我写的教程。这个错误就是scipy版本问题。你测试一下1.2.0,不要用默认的1.4.0。如果还有问题,直接运行我在上面发的那个colab。

https://drive.google.com/drive/folders/1-0XubcbjPgJexQq93uZT2rmgy2J7_Sfu?usp=sharing 这个是我运行完的prject,可以看到cp图片没有person + 'reassign2-%05d前缀。 https://drive.google.com/file/d/1T2FYXVO15XuItp-iFR_e2-Dtk8cNPqlb/view?usp=sharing 这个是运行代码,应该没改过。 谢谢了

@liupeng678 不好意思好像是我之前把保存图片的一个脚本visualizer.py按一个回复改了,然后保存路径的那里被改掉了两行,您能按我最新的代码更新一下visualizer.py这个文件:https://github.com/yiranran/Audio-driven-TalkingFace-HeadPose/blob/master/render-to-video/util/visualizer.py 再试一下测试吗

paolo626 commented 4 years ago

@测试码1.2.0,不要用替换的1.4.0。如果还有问题,直接运行我在上面发的那个colab。@ liupeng678你看一下上面我写的教程。这个错误就是scipy版本问题。

https://drive.google.com/drive/folders/1-0XubcbjPgJexQq93uZT2rmgy2J7_Sfu?usp=sharing 这个是我运行完的代理,可以看到cp图片没有人+'reassign2-%05d打开。https :// drive。 google.com/file/d/1T2FYXVO15XuItp-iFR_e2-Dtk8cNPqqlb/view?usp=sharing 这个是运行代码,应该没改过。 谢谢了

@ liupeng678不好意思好像是我之前把保存图片的一个脚本visualizer.py按一个回复改了,然后保存路径的那里被改掉了两行,您能按我最新的代码更新一下visualizer.py这个文件:https://github.com/yiranran/Audio-driven-TalkingFace-HeadPose/blob/master/render-to-video/util/visualizer.py 再试一下测试吗

好的,谢谢了

jjandnn commented 4 years ago

@yiranran @liupeng678 问题出在这里,非colab版本的依赖scipy也改成了1.2.0。1,原版依赖 scipy==1.0.0,适配老版 visualizer.py(有写from scipy.misc import imresize这句的版本)。按照这个跑,很顺,很流畅。我刚跑了遍,用的是谷歌云盘,结果以及相关文件也发给你了@@liupeng678 。我之所以在上面发了上一个版本的v.py,是因为我当时正在改APD和UPD,让它们能直接在colab一跑到底,包括图片预处理部分,那两个项目的质量直接取决于Segmentation的alpha质量,所以,我在colab版上跳过装作者依赖这步,依赖全用colab最新的版本,那个v.py适配scipy1.2以后,同时适配torch1.4,v.py与这几个依赖的适配问题,核心就那几句path的写法,大家仔细看一看,有问题,自己顺一下。2,这个帖子其实主要回复的是colab问题,在我看来是解决由于云盘对.m函数和文件不友好而带来的不便。回头,我在测试下新的v.py与scipy、torch、tv的兼容。上面各位同学的报错9成与依赖版本有关。说的不对不周全的地方,请各位伙伴见谅。 all_in_one_2020.4.19.zip 这是scipy1.0.0相关的文件与说明。